C# library for error handling in functional style (inspired by Scala and Haskell) - Maybe, Try, Either, Validation