docs: def set_lObj(self, lObj=None):
          """ Set the lObj attribute, storing objects the instance depends on
  
          For example:
          A Detect object depends on a vessel and some apertures
          That link between should be stored somewhere (for saving/loading).
          lObj does this: it stores the ID (as dict) of all objects depended on.
  
          Parameters
          ----------
          lObj :  None / dict / :class:`~tofu.pathfile.ID` / list of such
              Provide either:
                  - A dict (derived from :meth:`~tofu.pathfile.ID._todict`)
                  - A :class:`~tofu.pathfile.ID` instance
                  - A list of dict or :class:`~tofu.pathfile.ID` instances
  
          """
          if self.lObj is None and lObj is not None:
              self._dall['lObj'] = {}
          if lObj is not None:
              if type(lObj) is not list:
                  lObj = [lObj]
              for ii in range(0,len(lObj)):
                  if type(lObj[ii]) is ID:
                      lObj[ii] = lObj[ii].to_dict()
              ClsU = list(set([oo['Cls'] for oo in lObj]))
              for c in ClsU:
                  self._dall['lObj'][c] = [oo for oo in lObj if oo['Cls']==c]