Pulling in hspec
rewriting most tests for hspec
Converted the rest of the tests to hspec
Refactored to use a monad transformer
Deleted Result
Cleaning up to use throwError
Renamed F to Failure