generators.ET0LTreeGrammar:
  (
    { X1, chair },
    { subst:2, chair:0, invert:1, refine:4, X1:0 },
    {
      {
        X1 -> invert[X1],
        chair -> refine[chair,chair,chair,chair]
      }
    },
    subst[X1,chair]
  )
