code: def test_mutual_left_recursion(self) -> None:
      grammar = """
          start: foo 'E'
          foo: bar 'A' | 'B'
          bar: foo 'C' | 'D'
          """
      self.assertEqual(
          self.calculate_first_sets(grammar),
          {
              "foo": {"'D'", "'B'"},
              "bar": {"'D'"},
              "start": {"'D'", "'B'"},
          },
      )
  
imports: import unittest
  from test import test_tools
  from typing import Dict, Set
label_desc: Use image node_id 18 for calling the TestFirstSets obj's underlying member method code with example usage: obj.test_mutual_left_recursion() without return types