\begin{code}
+{-# LANGUAGE BangPatterns #-}
{-# OPTIONS_GHC -XNoImplicitPrelude #-}
{-# OPTIONS_HADDOCK hide #-}
-----------------------------------------------------------------------------
import GHC.Base
import Data.Maybe
-import GHC.IOBase ( IO(..), unIO )
import Data.Typeable
{-|