Is it possible to go very low level in functional languages like Haskell? (like making a kernel or device driver). And will functional features (like monads) be fast and efficient there?