misc haskell things