public static Unit match <K, V>(IImmutableDictionary <K, V> map, K key, Action <V> Some, Action None) =>
 match(Map.find(map, key),
       Some,
       None);
 public static R match <K, V, R>(IImmutableDictionary <K, V> map, K key, Func <V, R> Some, Func <R> None) =>
 match(Map.find(map, key),
       Some,
       None);