title: Using the Underscore module with Node.js
body: <p>I've been learning about node.js and modules, and can't seem to get the Underscore library to work properly... it seems that the first time I use a function from Underscore, it overwrites the _ object with the result of my function call.  Anyone know what's going on?  For example, here is a session from the node.js REPL:</p>
  
  <pre><code>Admin-MacBook-Pro:test admin$ node
  &gt; require("./underscore-min")
  { [Function]
    _: [Circular],
    VERSION: '1.1.4',
    forEach: [Function],
    each: [Function],
    map: [Function],
    inject: [Function],
    (...more functions...)
    templateSettings: { evaluate: /&lt;%([\s\S]+?)%&gt;/g, interpolate: /&lt;%=([\s\S]+?)%&gt;/g },
    template: [Function] }
  &gt; _.max([1,2,3])
  3
  &gt; _.max([4,5,6])
  TypeError: Object 3 has no method 'max'
      at [object Context]:1:3
      at Interface.&lt;anonymous&gt; (repl.js:171:22)
      at Interface.emit (events.js:64:17)
      at Interface._onLine (readline.js:153:10)
      at Interface._line (readline.js:408:8)
      at Interface._ttyWrite (readline.js:585:14)
      at ReadStream.&lt;anonymous&gt; (readline.js:73:12)
      at ReadStream.emit (events.js:81:20)
      at ReadStream._emitKey (tty_posix.js:307:10)
      at ReadStream.onData (tty_posix.js:70:12)
  &gt; _
  3
  </code></pre>
  
  <p>When I make Javascript files myself and import them, they seem to be working properly. Maybe there's something special with the Underscore library?</p>