public static ImList <T> Transform <T>(Func <T, T> iterator, ImList <T> list) { var transformedList = Im.Fold <T, List <T> >((List <T> acc, T item) => { acc.Insert(0, iterator(item)); return(acc); }, new List <T>(), list); return(new ImList <T>(transformedList)); }
private LocatorTarget Wrap(LocatorTarget target) { return(Im.Fold <LocatorPlug, LocatorTarget>(WrapByPlug, target, Plugs)); }
private PlugState Transform(PlugState plugState) { return(Im.Fold <LocatorPlug, PlugState>(TransformByPlug, plugState, Plugs)); }