internal NodeThrow(Location location, Node value) : base(location) { this.value = value; }
internal NodeOr(Node left, Node right) : base(left.location) { this.left = left; this.right = right; }
internal NodeInvoke(Node target, List<Node> args) : base(target.location) { this.target = target; this.args = args; }
internal NodeYield(Location location, Node value) : base(location) { this.value = value; }
internal NodeAs(Node value, Node type) : base(value.location) { this.value = value; this.type = type; }