Future<ListResult<T, C>> load({List<T>? current, required bool isFirst, bool append = false, C? cursor});