title: Moq does not contain a definition for ReturnAsync?
body: <p>I am trying to mock some API calls to a third-party service for unit testing purposes. I really just want this mocked function to return the same <code>RestEase.Response&lt;...&gt;</code> each time.</p>
  
  <pre><code>// Setup
  var VeracrossMock = new Mock&lt;IVeracrossAPI&gt;(MockBehavior.Strict);
  Func&lt;List&lt;VeracrossStudent&gt;&gt; func = () =&gt; new List&lt;VeracrossStudent&gt;() { new VeracrossStudent() { First_name = "Bob", Last_name = "Lob" } };
  RestEase.Response&lt;List&lt;VeracrossStudent&gt;&gt; resp = new RestEase.Response&lt;List&lt;VeracrossStudent&gt;&gt;("", new HttpResponseMessage(HttpStatusCode.OK), func);
  
  // Problem is on the line below
  VeracrossMock.Setup(api =&gt; api.GetStudentsAsync(1, null, CancellationToken.None)).ReturnsAsync&lt;RestEase.Response&lt;List&lt;VeracrossStudent&gt;&gt;&gt;(resp);
  </code></pre>
  
  <p>It gives me a red underline and then claims the <code>ReturnsAsync</code> doesn't exist, or at least not with the arguments that I've given it.</p>
  
  <pre><code>Error CS1929 'ISetup&lt;IVeracrossAPI, Task&lt;Response&lt;List&lt;VeracrossStudent&gt;&gt;&gt;&gt;' does not contain a definition for 'ReturnsAsync' and the best extension method overload 'SequenceExtensions.ReturnsAsync&lt;Response&lt;List&lt;VeracrossStudent&gt;&gt;&gt;(ISetupSequentialResult&lt;Task&lt;Response&lt;List&lt;VeracrossStudent&gt;&gt;&gt;&gt;, Response&lt;List&lt;VeracrossStudent&gt;&gt;)' requires a receiver of type 'ISetupSequentialResult&lt;Task&lt;Response&lt;List&lt;VeracrossStudent&gt;&gt;&gt;&gt;'
  </code></pre>
  
  <p>How am I supposed to be using <code>ReturnsAsync</code>? Clueless as to how to mock this.</p>