Generic HTTP types for Haskell (for both client and server code)