This pattern reminds me of `RAC(…) = RACObserve(…)`. What are your thoughts on similar macros? *(macro names for illustration)*

```objc
RACMutate(self, viewModels) = [RACObserveMutations(self, models)
    reduceEach:^(id _, id<RACOrderedCollectionMutation> modelsMutation) {
        return [modelsMutation map:^(Model *model) {
            return [[ViewModel alloc] initWithModel:model];
        }];
    }];
```