/// <summary> /// Monad Bind operation. /// </summary> /// <typeparam name="B">Result type.</typeparam> /// <param name="bind">Bind function.</param> /// <returns>New result of type <typeparamref name="B"/>.</returns> public Result <B, Error> Bind <B>( Func <A, Result <B, Error> > bind) => ResultOperations.Bind(this, bind);
/// <summary> /// Evaluates a specified function based on the result state. /// </summary> /// <typeparam name="B">Result type.</typeparam> /// <param name="success">Function to evaluate on <see cref="ResultState.Success"/> state.</param> /// <param name="error">Function to evaluate on <see cref="ResultState.Error"/> state.</param> /// <returns>Evaluated result.</returns> public B Match <B>( SuccessFunc <A, B> success, ErrorFunc <Error, B> error) => ResultOperations.Match(this, success, error);