The way we patch bigi here adds methods directly to BigInteger and to the prototype of all BigInteger. It means bigi is modified globally, even the ones required with the original bigi 

```javascript
var B1 = require('bigi')

console.dir(B1)
// { [Function: BigInteger]
//  ZERO: { t: 0, s: 0 },
//  ONE: { '0': 1, t: 1, s: 0 },
//  valueOf: [Function: nbv],
//  fromByteArrayUnsigned: [Function],
//  fromByteArraySigned: [Function] }

var B2 = require('./src/bigi')

console.dir(B1)
// { [Function: BigInteger]
//  ZERO: { t: 0, s: 0 },
//  ONE: { '0': 1, t: 1, s: 0 },
//  valueOf: [Function: nbv],
//  fromByteArrayUnsigned: [Function],
//  fromByteArraySigned: [Function],
//  fromBuffer: [Function] } <=======
```

We might want to use `inherits` for monkey patching: https://github.com/isaacs/inherits