Using Metalua's AST definition