code: func (q *Quadtree) Insert(p geo.Pointer) error {
  	if p == nil {
  		return nil
  	}
  
  	point := p.Point()
  	if point == nil {
  		return nil
  	}
  
  	if !q.bound.Contains(point) {
  		return ErrPointOutsideOfBounds
  	}
  
  	if q.root == nil {
  		q.root = &node{}
  	}
  
  	q.insert(q.root, p,
  		q.bound.Left(), q.bound.Right(),
  		q.bound.Bottom(), q.bound.Top(),
  	)
  
  	return nil
  }
docs: // Insert puts an object into the quad tree, must be within the quadtree bounds.
  // If the pointer returns nil, the point will be ignored.
  // This function is not thread-safe, ie. multiple goroutines cannot insert into
  // a single quadtree.