an unary function that returns a Result
typedef ResultUnary<T extends Object, S> = Unary<Result<T>, S>;