returns enumerable of (prevstate, t) tuples
    this is super slow and needs to be sped up

def transitions_to(self, dst):
    '''
    returns enumerable of (prevstate, t) tuples
    this is super slow and needs to be sped up
    '''
    if dst in self._transitions_to:
      for t in self._transitions_to[dst]:
        for s in self._transitions_to[dst][t]:
          yield (s, t)