code: def logic_subset(self, op=None):
          
          if op is None:
              return self.logic
          else:
              return set(x for x in self.logic if x.op in op)
docs: Return set of logicnets, filtered by the type(s) of logic op provided as op.
  
          If no op is specified, the full set of logicnets associated with the Block are
          returned.  This is helpful for getting all memories of a block for example.