docs: def to_tess(obj):
      '''
      to_tess(obj) yields a Tesselation object that is equivalent to obj; if obj is a tesselation
        object already and no changes are requested (see options) then obj is returned unmolested.
  
      The following objects can be converted into tesselations:
        * a tesselation object
        * a mesh or topology object (yields their tess objects)
        * a 3 x n or n x 3 matrix of integers (the faces)
        * a tuple of coordinates and faces that can be passed to to_mesh
      '''
      if   is_tess(obj): return obj
      elif is_mesh(obj): return obj.tess
      elif is_topo(obj): return obj.tess
      else:
          # couple things to try: (1) might specify a tess face matrix, (2) might be a mesh-like obj
          try:    return tess(obj)
          except Exception: pass
          try:    return to_mesh(obj).tess
          except Exception: pass
      raise ValueError('Could not convert argument to tesselation object')