# Structs
ArrayNode represents an array.
BinaryNode represents a binary operator.
BoolNode represents a boolean.
BuiltinNode represents a builtin function call.
CallNode represents a function or a method call.
ChainNode represents an optional chaining group.
ClosureNode represents a predicate.
ConditionalNode represents a ternary operator.
ConstantNode represents a constant.
FloatNode represents a float.
IdentifierNode represents an identifier.
IntegerNode represents an integer.
MapNode represents a map.
MemberNode represents a member access.
NilNode represents nil.
PairNode represents a key-value pair of a map.
PointerNode represents a pointer to a current value in predicate.
SliceNode represents access to a slice of an array.
StringNode represents a string.
UnaryNode represents a unary operator.
VariableDeclaratorNode represents a variable declaration.