public static Task SimpleCollectionLoad <T>(this IReactiveList <T> viewModel, GitHubRequest <List <T> > request, bool?forceDataRefresh, Action <Func <Task> > assignMore = null) where T : new() { if (assignMore == null) { assignMore = (x) => {} } ; return(viewModel.RequestModel(request, forceDataRefresh, response => { viewModel.CreateMore(response, assignMore, x => { // This is f*****g broken for iOS because it can't handle estimated rows and the insertions // that ReactiveUI seems to be producing using (viewModel.SuppressChangeNotifications()) { viewModel.AddRange(x); } }); viewModel.Reset(response.Data); })); } }