--($!) :: (a -> b) -> a -> b index :: [a] -> Int -> a dollar :: (a -> b) -> a -> b land :: Bool -> Bool -> Bool lor :: Bool -> Bool -> Bool append :: [a] -> [a] -> [a] cons :: a -> [a] -> [a] dot :: (b -> c) -> (a -> b) -> a -> c all :: (a -> Bool) -> [a] -> Bool and :: [Bool] -> Bool any :: (a -> Bool) -> [a] -> Bool appendFile :: FilePath -> String -> IO () asTypeOf :: a -> a -> a break :: (a -> Bool) -> [a] -> ([a], [a]) concat :: [[a]] -> [a] concatMap :: (a -> [b]) -> [a] -> [b] const :: a -> b -> a curry :: ((a, b) -> c) -> a -> b -> c cycle :: [a] -> [a] drop :: Int -> [a] -> [a] dropWhile :: (a -> Bool) -> [a] -> [a] either :: (a -> c) -> (b -> c) -> Either a b -> c elem :: (Eq a) => a -> [a] -> Bool error :: [Char] -> a even :: (Integral a) => a -> Bool filter :: (a -> Bool) -> [a] -> [a] flip :: (a -> b -> c) -> b -> a -> c foldl :: (a -> b -> a) -> a -> [b] -> a foldl1 :: (a -> a -> a) -> [a] -> a foldr :: (a -> b -> b) -> b -> [a] -> b foldr1 :: (a -> a -> a) -> [a] -> a fst :: (a, b) -> a getChar :: IO Char getContents :: IO String getLine :: IO String head :: [a] -> a id :: a -> a init :: [a] -> [a] interact :: (String -> String) -> IO () ioError :: IOError -> IO a iterate :: (a -> a) -> a -> [a] last :: [a] -> a length :: [a] -> Int lines :: String -> [String] map :: (a -> b) -> [a] -> [b] maybe :: b -> (a -> b) -> Maybe a -> b not :: Bool -> Bool null :: [a] -> Bool or :: [Bool] -> Bool otherwise :: Bool putChar :: Char -> IO () putStr :: String -> IO () putStrLn :: String -> IO () readFile :: FilePath -> IO String repeat :: a -> [a] replicate :: Int -> a -> [a] reverse :: [a] -> [a] scanl :: (a -> b -> a) -> a -> [b] -> [a] scanl1 :: (a -> a -> a) -> [a] -> [a] scanr :: (a -> b -> b) -> b -> [a] -> [b] scanr1 :: (a -> a -> a) -> [a] -> [a] seq :: a -> b -> b snd :: (a, b) -> b span :: (a -> Bool) -> [a] -> ([a], [a]) splitAt :: Int -> [a] -> ([a], [a]) tail :: [a] -> [a] take :: Int -> [a] -> [a] takeWhile :: (a -> Bool) -> [a] -> [a] uncurry :: (a -> b -> c) -> (a, b) -> c undefined :: a unlines :: [String] -> String until :: (a -> Bool) -> (a -> a) -> a -> a unwords :: [String] -> String unzip :: [(a, b)] -> ([a], [b]) unzip3 :: [(a, b, c)] -> ([a], [b], [c]) userError :: String -> IOError words :: String -> [String] writeFile :: FilePath -> String -> IO () zip :: [a] -> [b] -> [(a, b)] zip3 :: [a] -> [b] -> [c] -> [(a, b, c)] zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]