number = do { num <- natural ; return $ num } main = do txt <- hGetContents stdin print $ parse number "stdin" txt why doesn't that work?