{-# htermination ap :: [] (a -> b) -> [] a -> [] b #-} import Monad