title: Why can I not assign a method reference directly to a variable of Object type?
body: <p>Simple question about <code>java-8</code> syntax. Why does <code>JLS-8</code> restrict such expressions like:</p>
  <pre><code>Object of_ref = Stream::of;  // compile-time error
  </code></pre>
  <p>and allows only something like:</p>
  <pre><code>java.util.function.Function of_ref = Stream::of;
  Object obj = of_ref; // compiles ok
  </code></pre>
  <p>?</p>