@propertyWrapper struct Clamped<Value: Comparable> { @shared let storage: RangeStorage<Value> var wrappedValue: Value { ... } // a plain struct, with properties that will be shared across wrappers struct RangeStorage<Value: Comparable> { ... } }
@shared
っていうのが提案されてる