public static bool insertOrRemove <T>(this ISet <T> s, T t, InsertRemove ir) { if (ir == InsertRemove.Insert) { return(s.Add(t)); } else { return(s.Remove(t)); } }
public static bool insertOrRemoveE <S, T>(this IDictionary <S, ISet <T> > m, S s, T t, InsertRemove ir) { if (ir == InsertRemove.Insert) { return(m.insert(s, t)); // getOrAdd(s).Add(t);// ApplyOr(s, (x) => x.Add(t), false); } else { return(m.remove(s, t)); } }