why do we need the mutable versions? shouldn't the `mutableValueTransformer` take care of that for us?