public static Whole Cons <T, Whole>(this T value, ILens <ImmutableList <T>, Whole> lens) => lens.Update(oldHole => value.Cons(oldHole));
public static Whole Update <Hole, Whole>(this ILens <Hole, Whole> lens, Hole newHole) => lens.Update(oldHole => newHole);