docs: def subpartition(quadtree, nmin, nmax):
      """
      Recursive core of the ``QuadTree.partition`` method. Just five lines of code, amazingly.
  
      Parameters
      ----------
      quadtree : QuadTree object instance
          The QuadTree object instance being partitioned.
      nmin : int
          The splitting threshold. If this is not met this method will return a listing containing the root tree alone.
  
      Returns
      -------
      A (probably nested) list of QuadTree object instances containing a number of points respecting the threshold
      parameter.
      """
      subtrees = quadtree.split()
      if quadtree.n > nmax:
          return [q.partition(nmin, nmax) for q in subtrees]
      elif any([t.n < nmin for t in subtrees]):
          return [quadtree]
      else:
          return [q.partition(nmin, nmax) for q in subtrees]