docs: def fullConn (self, preCellsTags, postCellsTags, connParam):
      from .. import sim
  
      ''' Generates connections between all pre and post-syn cells '''
      if sim.cfg.verbose: print('Generating set of all-to-all connections (rule: %s) ...' % (connParam['label']))
  
      # get list of params that have a lambda function
      paramsStrFunc = [param for param in [p+'Func' for p in self.connStringFuncParams] if param in connParam] 
  
      for paramStrFunc in paramsStrFunc:
          # replace lambda function (with args as dict of lambda funcs) with list of values
          connParam[paramStrFunc[:-4]+'List'] = {(preGid,postGid): connParam[paramStrFunc](**{k:v if isinstance(v, Number) else v(preCellTags,postCellTags) for k,v in connParam[paramStrFunc+'Vars'].items()})  
              for preGid,preCellTags in preCellsTags.items() for postGid,postCellTags in postCellsTags.items()}
      
      for postCellGid in postCellsTags:  # for each postsyn cell
          if postCellGid in self.gid2lid:  # check if postsyn is in this node's list of gids
              for preCellGid, preCellTags in preCellsTags.items():  # for each presyn cell
                  self._addCellConn(connParam, preCellGid, postCellGid)