{-# htermination ($!) :: (a -> b) -> a -> b #-}