title: Why can't I chain String.prototype.toLowerCase with underscore.js?
body: <p>I think the issue is not with underscore.js, but rather with Native prototypes functions. It seems that one can only call them directly, not passing them as callbacks. Here's the code the I can't use and the error from my tests (using Mocha.js, only the relevant portion):</p>
  
  <pre><code>_.chain("INPUT").tap(String.prototype.toLowerCase)
  // =&gt; TypeError: String.prototype.toLowerCase called on null or undefined
  </code></pre>
  
  <p>So tried this in Node's REPL :</p>
  
  <pre><code>String.prototype.toLowerCase("INPUT")
  // =&gt; ''
  </code></pre>
  
  <p>I know one should call a prototype's function with <code>.call</code> or <code>.apply</code>, but why exactly ? And how can I pass this function as a callback ?</p>