generators.regularTreeGrammar:
  (
    { T, N },
    { subst:2, subst:4, subst:10, tile:0, tile2:0, tile3:0, invert:0, refine:0, refine2:0, refine3:0, X1:0, X2:0, X3:0 },
    {
      T -> subst[N, tile, tile2, tile3],
      N -> X1,
      N -> subst[invert, subst[N, 
        subst[refine,X1,X2,X2,X2,X2,X2,X2,X2,X2],
        subst[refine2,X3,X3,X3],
        subst[refine3,X3,X3,X3]]]
    },
    T
  )
