Можно ли перейти на очень низкий уровень в функциональных языках, таких как Haskell? (например, создание ядра или драйвера устройства). И будут ли там функциональные возможности (например, монады) работать быстро и эффективно?