Char IO Char (Char,Char) Monad T P (P T) [Int] Int -> Int -> Int