/// <summary> /// Equivalent to map and filter but the filtering is done based on whether the returned /// Option is Some or None. If the item is None then it's filtered out, if not the the /// mapped Some value is used. /// </summary> /// <param name="selector">Predicate</param> /// <returns>Filtered map</returns> public static Map <K, T> choose <K, T>(Map <K, T> map, Func <K, T, Option <T> > selector) => map.Choose(selector);