Cannot pass immutable value of type 'NSObject' as inout argument
<p>This should work, but I've got no clue why it doesn't. The code is self-explanatory.</p>

<pre><code>class Themer {

   class func applyTheme(_ object: inout NSObject) {
      //do theming
   }
}
</code></pre>

<p>And I apply theme to the button like so:</p>

<pre><code>class ViewController: UIViewController {

    @IBOutlet weak var button: UIButton!
    override func viewDidLoad() {

        super.viewDidLoad()
        Themer.applyTheme(&amp;button)
    }
</code></pre>

<p>The button object is a variable, yet the compiler throws an error.</p>