Inset outset

random should probably be a field of the TreeBuilder, to avoid constructing new Randoms all the time.