I think this limitation exists in the current design of enclosing self property wrappers because there currently is no way to support mutation of an enclosing self value type through the static subscript.
ReferenceWritableKeyPath allows you to write a setter for the static subscript because it promises that the value being written to has reference semantics. So, the
_enclosingInstance parameter doesn't need to be mutable. Since value types don't have reference semantics, you'd have to use
WritableKeyPath, but in order to write to that value, you need the enclosing instance parameter to be mutable. However,
inout isn't supported on subscript parameters.