Question about nested property wrappers and mutability

Apologies, I was writing a reply to @Douglas_Gregor on the recently closed thread, so I will continue my reply here:

Thanks for the reply. I can see that it behaves as suggested in the proposal - and I can almost see the logic, but not quite.

There is still a step I have a hard time grasping.
I have tried manually 'synthesizing' the setters using the proposal. I hope I did it right:

    private var __configuration: ObjectBinding<FirebaseValue<Configuration>> = ObjectBinding(initialValue: FirebaseValue<Configuration>(initialValue: .default, path: Path.chatrooms.child("firechat").configuration))

    private var _configuration: FirebaseValue<Configuration> {
        get { __configuration.wrappedValue }
        set { __configuration.wrappedValue = newValue }
    }

    var configuration: Configuration {
        get { _configuration.wrappedValue }
        set { _configuration.wrappedValue = newValue }
    }

In this example I can add nonmutating to the setter of the configuration just fine.
This setter is just using the 'getter' of the ObjectBinding (which is not mutating) and then calling the setter of my own class based FirebaseValue, right?
So in this case it seems that it could be possible to infer that the nonmutating would be ok.

Or am I turning all this upside down?