Several major changes:
- Response now has two type parameters for success and fail
- Added several functions: E.g. toSeq, toOption, etc
- Added several tests for custom failure types