Arrow function ----- $a; ----- $stmts[0]->expr->expr = new Expr\Variable('b'); ----- $b; ----- $a; ----- $stmts[0]->expr->params[] = new Node\Param(new Expr\Variable('b')); ----- $a; ----- $a; ----- // TODO: Format preserving currently not supported $stmts[0]->expr->params = []; ----- $a; ----- $a; ----- $stmts[0]->expr->returnType = new Node\Identifier('bool'); ----- $a; ----- $a; ----- $stmts[0]->expr->returnType = null; ----- $a; ----- $a; static fn($a) : int => $a; ----- $stmts[0]->expr->static = true; $stmts[1]->expr->static = false; ----- $a; fn($a) : int => $a; ----- $a; fn&($a) : int => $a; ----- // TODO: Format preserving currently not supported $stmts[0]->expr->byRef = true; $stmts[1]->expr->byRef = false; ----- $a; fn($a): int => $a;