import "Prelude" hiding (while) while :: Maybe Boolean -> Maybe a -> Maybe () while condM bodyM = mdo cond <- condM if cond then bodyM >> while condM bodyM else return () main = "FOO" -- FOO