title: Why does Erlang have arity in its imports?
body: <p>I find Erlang's module arity import <code>/n</code> where n is the number of arguments rather bizarre.</p>
  
  <p>In Java and various other languages you can do something like:</p>
  
  <pre><code>import static com.stuff.Blah.myFunction;
  </code></pre>
  
  <p>Which will import all overloaded <code>Blay.myFunction(..)</code> regardless of parameters.</p>
  
  <p>Besides I guess being explicit why did the language designers decide this was a good idea (I'm not trying to criticize the language... just curious)? </p>
  
  <ul>
  <li>Does it have to do with code swapping?</li>
  <li>Or does it have to do with hiding <em>guard</em> methods for recursion? If so why not allow arity on export but no need for arity on import?</li>
  <li>Why would I want to be that explicit? That is import the two argument function but not the the three argument of <code>myFunction</code>?</li>
  </ul>