public static IResult <L, R2> Map <L, R, R2>(this IResult <L, R> self, Func <R, R2> f) { return(self.Bind(Failure.Create <L, R2>, r => Success.Create <L, R2>(f(r)))); }