Adding haskell functions like lines, unlines, intersperse

I had the other pull request but I updated `prependAll` to be tail callable (since I had just done a direct port of the lazy load haskell).