Интересно, можно ли использовать без особых сложностей в обычном ядре Линукса?
Смотря какие сложности считать особыми. Другой компилятор, другая система сборки... Стоимость интеграции довольно высока, а небходимость взаимодействовать с сишным кодом со всех сторон снижает выгоды от использования (кроме, возможно, именно случая написания драйверов, поскольку у них есть чёткая граница раздела от собственно ядра).
-- 11.08.2018, 18:19 --Или это какие-то неправильные примеры?
Это называется вывод типов и это must have фича для любого современного языка, имеющего серьёзные претензии на что-то.