GHC.List is safe with termination