code: def reachables(self, from_symbol):
          # type: (Type[Nonterminal]) -> List[Type[Nonterminal]]
          
          if from_symbol not in self.t:
              return []
          reachable = []
          index = self.t[from_symbol]
          for n, i in self.t.items():
              if len(self.f[index][i] or []) > 0:
                  reachable.append(n)
          return reachable
docs: Get list of nonterminals, what are rewritable from nonterminal passed as parameter
          using only unit rules.
          :param from_symbol: For which symbols to search.
          :return: List of nonterminals.