parameters: (self, t, exploring=None)
return_statement: return False
docstring: |self| is mutually recursive with |t| iff |self| and |t|
  are in a cycle in the type graph rooted at |self|.  This function
  looks for such a cycle and returns True if found.
docstring_summary: |self| is mutually recursive with |t| iff |self| and |t|
  are in a cycle in the type graph rooted at |self|.  This function
  looks for such a cycle and returns True if found.
docstring_tokens: |self| is mutually recursive with |t| iff |self| and |t| are in a cycle in the type graph rooted at |self| . This function looks for such a cycle and returns True if found .
function: def mutuallyRecursiveWith(self, t, exploring=None):
          '''|self| is mutually recursive with |t| iff |self| and |t|
  are in a cycle in the type graph rooted at |self|.  This function
  looks for such a cycle and returns True if found.'''
          if exploring is None:
              exploring = set()
  
          if t.isAtom():
              return False
          elif t is self or t in self.mutualRec:
              return True
          elif t.isArray():
              isrec = self.mutuallyRecursiveWith(t.basetype, exploring)
              if isrec:  self.mutualRec.add(t)
              return isrec
          elif t in exploring:
              return False
  
          exploring.add(t)
          for c in t.itercomponents():
              if self.mutuallyRecursiveWith(c, exploring):
                  self.mutualRec.add(c)
                  return True
          exploring.remove(t)
  
          return False
function_tokens: def mutuallyRecursiveWith ( self , t , exploring = None ) : if exploring is None : exploring = set ( ) if t . isAtom ( ) : return False elif t is self or t in self . mutualRec : return True elif t . isArray ( ) : isrec = self . mutuallyRecursiveWith ( t . basetype , exploring ) if isrec : self . mutualRec . add ( t ) return isrec elif t in exploring : return False exploring . add ( t ) for c in t . itercomponents ( ) : if self . mutuallyRecursiveWith ( c , exploring ) : self . mutualRec . add ( c ) return True exploring . remove ( t ) return False