internal static ICursor <TStack> __Pop <TPopped, TStack>(this ICursor <IL <TPopped, TStack> > cursor) where TStack : IStack { return(cursor.CreateNew <TStack>()); }
internal static ICursor <IL <TPushed, TStack> > __Push <TPushed, TStack>(this ICursor <TStack> cursor) where TStack : IStack { return(cursor.CreateNew <IL <TPushed, TStack> >()); }