<div>Sam, are you referring to this text?</div><div><br></div><div>  The any/c contract is similar to any, in that it makes no demands on</div><div>  a value. Unlike any, any/c indicates a single value, and it is</div><div>

  suitable for use as an argument contract.</div><div><br></div><div>This would seem to suggest that any is actually more general, because</div><div>any/c seems to require a single value whereas any (by implication)</div>

<div>permits more or less than one.  This is compounded by the later text:</div><div><br></div><div>  Use any/c as a result contract when it is particularly important to</div><div>  promise a single result from a function. Use any when you want to</div>

<div>  promise as little as possible (and incur as little checking as</div><div>  possible) for a function&#39;s result.</div><div><br></div><div>which again points to a single/any-number-of value(s) distinction.</div><div>

<br></div><div>But then in his email Robby says</div><div><br></div><div>  As for the any/c vs any: they are two separate things. &quot;any/c&quot; is</div><div>  general purpose contract that allows anything. &quot;any&quot; is special</div>

<div>  syntax that is only allowed inside function contracts. You can think</div><div>  of &quot;any&quot; as a more restricted form of &quot;any/c&quot; and that&#39;s 95% of the</div><div>  story.</div><div><br></div><div>

which I have difficulty reconciling with the docs quotes.</div><div><br></div><div>Shriram</div>