fixed Chain(Step) function signature
Ensured Folds are asserted as Foldable and changed Fold type signature for Some and None to match the Foldable interface{} by swapping the second parameter from a Thunk to a Morphism which itself takes nil as a parameter when called
changed Some and None to be package private types which are created via matching function names
Renamed Thunk to Value and simplified to func() interface{} type signature, resolved subsequent name clash in validation_test.go
Success and Failure types are now private to the package, resolved resultant namespace clash in async_test.go