[Pitch #2] Property Delegates by Custom Attributes

Sure, but talking about whether to synthesize or not being a decision of the property delegate implementation makes me think it's worth also defining the access level of said synthesized storage in the property delegate implementation as well.

i.e. instead of deciding to synthesize based on the existence of the storageValue var, we decide whether to synthesize the storage and specify its property using an enum:

enum Storage {
  case `public` // storage synthesized and public
  case `fileprivate` // storage synthesized and fileprivate
  case none // storage not synthesized
}

and the that value gets used when declaring the delegate:

@propertyDelegate(storage: .none)

Edit: I'm thinking of this as similar to "scopes" in the Static Custom Attributes pitch