title: How to change input parameter in Moq?
body: <p>Consider</p>
  
  <pre><code>var list = new List&lt;string&gt;();
  someObject.AddOne(list);
  Assert.AreEqual(1, list.Count);
  </code></pre>
  
  <p>How can I setup my mock? I expect</p>
  
  <pre><code>var mock = new Mock&lt;SomeObject&gt;();
  var list = new List&lt;string&gt;();
  mock
      .Setup(so =&gt; so.AddOne(list))
      .Callback&lt;List&lt;string&gt;&gt;(l =&gt; l.Add("derp"));
  </code></pre>
  
  <p>to work, but the callback does not get called.</p>
  
  <p>I cannot change SomeObject, since this is an external API I use.</p>