code: func newAllocator(low, high int) *allocator {
  	return &allocator{
  		pool: big.NewInt(0),
  		last: low,
  		low:  low,
  		high: high,
  	}
  }
docs: // NewAllocator reserves and frees integers out of a range between low and
  // high.
  //
  // O(N) worst case space used, where N is maximum allocated, divided by
  // sizeof(big.Word)