public static Optional <T> Result <T>(this FindResult <T> result) { return(result.Match(l => Optional <T> .None, r => Optional <T> .Create(r))); }
public static FindResult <T> ThenFind <T>(this FindResult <T> result, Predicate <T> predicate) { return(result.Match(l => l.Find(predicate), r => result)); }