title: Swift properyWrapper cannot convert value of declared type to value of specified type
body: <p>Here is my property wrapper: </p>
  
  <pre><code>@propertyWrapper struct UserDefaultsBacked&lt;Value&gt; {
      let key: String
      let storage: UserDefaults = .standard
      var defaultValue: Value
  
      var wrappedValue: Value? {
          get {
              let value = storage.value(forKey: key) as? Value
              return value ?? defaultValue
          }
          set { storage.setValue(newValue, forKey: key) }
      }
  }
  </code></pre>
  
  <p>And this variable, snapStatus, is supposed to have a boolean value, right? </p>
  
  <pre><code>@UserDefaultsBacked(key: "snap-is-enabled", defaultValue: false)
  var snapStatus: Bool
  </code></pre>
  
  <p>But compiler throws an error:</p>
  
  <blockquote>
    <p>Cannot convert value of type 'UserDefaultsBacked' to specified
    type 'Bool'</p>
  </blockquote>
  
  <p><a href="https://i.stack.imgur.com/nmDwF.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/nmDwF.png" alt="enter image description here"></a></p>
  
  <p>Am I doing it the wrong way?</p>