public static IMaybe <T> FirstOrNone <T>(this IEnumerable <T> enumerable) { try { var first = enumerable.FirstOrDefault(); if (first.IsNull()) { return(MonadFunctions.none <T>()); } else if (first.Equals(default))
public Matching(IMatched <T> matched) { this.matched = matched; action = MonadFunctions.none <Func <TResult> >(); }