hChar ::
  Handle
  -> IO (Maybe Char)
hChar h =
  do r <- hReady h
     if r
       then
         do c <- hGetChar h
            return (Just c)
       else
         return Nothing 
hChar ::
  Handle
  -> IO (Maybe Char)
hChar h =
  do r <- hReady h
     if r
       then
         do c <- hGetChar h
            return (Just c)
       else
         return Nothing 
hChar h =
  do r <- hReady h
     if r
       then
         do c <- hGetChar h
            return (Just c)
       else
         return Nothing 