block-based value transformers with `id, BOOL *, NSError **` blocks get pretty unwieldy.

What do you think of making it part of the contract that the `MTLValueTransformationBlock` will never be called with `NULL` for the `error` parameter and `YES` prefilled for `success`?