public static ImList <T> AddNew <T>(T item, ImList <T> list) { if (list.Has(item)) { return(list); } return(list + item); }
public static R Maybe <T, R>(Func <T, R> action, T item, R def, ImList <T> list) { if (list.Has(item)) { return(action(item)); } return(def); }
public static bool Has <T>(T item, ImList <T> list) { return(list.Has(item)); }