generators.ET0LTreeGrammar:
 (
  { l, r, u, d },
  { l:0, r:0, u:0, d:0, conc:2, conc:4, conc:8 },
  {
    {
      l -> conc[l,d,u,l],
      r -> conc[r,u,d,r],
      u -> conc[u,l,r,u],
      d -> conc[d,r,l,d]
    },
    {
      l -> conc[l,l],
      r -> conc[r,r],
      u -> conc[u,u],
      d -> conc[d,d]
    }
  },
  conc[u,d,r,l,d,u,l,r]
 )
