twice
always give the same object,</li><li>or if they refer to the same member method extracted from the same object.
Extracting a member method as a function value twice gives equal, but
not necessarily identical, function values.</li></ul>
<p>Function expressions never give rise to equal function objects. Each time
a function expression is evaluated, it creates a new closure value that
is not known to be equal to other closures created by the same expression.</p>
<p>Classes implementing <code>Function</co