/// <summary> /// Sequentially composes ten lenses /// </summary> public static Lens <A, K> lens <A, B, C, D, E, F, G, H, I, J, K>(Lens <A, B> la, Lens <B, C> lb, Lens <C, D> lc, Lens <D, E> ld, Lens <E, F> le, Lens <F, G> lf, Lens <G, H> lg, Lens <H, I> lh, Lens <I, J> li, Lens <J, K> lj) => Lens <A, K> .New( Get : a => lj.Get(li.Get(lh.Get(lg.Get(lf.Get(le.Get(ld.Get(lc.Get(lb.Get(la.Get(a)))))))))), Set : v => la.Update(lb.Update(lc.Update(ld.Update(le.Update(lf.Update(lg.Update(lh.Update(li.Update(lj.SetF(v)))))))))));
/// <summary> /// Sequentially composes seven lenses /// </summary> public static Lens <A, H> lens <A, B, C, D, E, F, G, H>(Lens <A, B> la, Lens <B, C> lb, Lens <C, D> lc, Lens <D, E> ld, Lens <E, F> le, Lens <F, G> lf, Lens <G, H> lg) => Lens <A, H> .New( Get : a => lg.Get(lf.Get(le.Get(ld.Get(lc.Get(lb.Get(la.Get(a))))))), Set : v => la.Update(lb.Update(lc.Update(ld.Update(le.Update(lf.Update(lg.SetF(v))))))));
/// <summary> /// Sequentially composes three lenses /// </summary> public static Lens <A, D> lens <A, B, C, D>(Lens <A, B> la, Lens <B, C> lb, Lens <C, D> lc) => Lens <A, D> .New( Get : a => lc.Get(lb.Get(la.Get(a))), Set : v => la.Update(lb.Update(lc.SetF(v))));
/// <summary> /// Sequentially composes five lenses /// </summary> public static Lens <A, F> lens <A, B, C, D, E, F>(Lens <A, B> la, Lens <B, C> lb, Lens <C, D> lc, Lens <D, E> ld, Lens <E, F> le) => Lens <A, F> .New( Get : a => le.Get(ld.Get(lc.Get(lb.Get(la.Get(a))))), Set : v => la.Update(lb.Update(lc.Update(ld.Update(le.SetF(v))))));
/// <summary> /// Sequentially composes two lenses /// </summary> public static Lens <A, C> lens <A, B, C>(Lens <A, B> la, Lens <B, C> lb) => Lens <A, C> .New( Get : a => lb.Get(la.Get(a)), Set : v => la.Update(lb.SetF(v)));