Implementing F# inspired Result in C#

Here's a F# inspired Result type implemented in C#: public class Error { public Error(string error) => Value = error; public string Value { get; } } public class Result<T> { readonly string _error; public Result(Error error) => _error = error.Value; public Result(T value) => Value = value; public bool IsSuccessful { get => _error …