<= =>
Observações de Monade IO
ex9 = runO (print ( (observe "getChar" :: Observing (IO Char)) getChar))

-- getChar
<IO> 'x'	


ex10 = printO ( (observe "putChar" :: Observing (Char -> IO ())) putChar 'a')

-- putChar
let fn 'a' = <IO> ()