Один тип, дві ролі
Розібране синтаксичне дерево та значення під час виконання — це той самий enum. Між кодом і виконанням немає окремого типу вузла.
pub enum Value {
Nil,
Bool(bool),
Int(i64),
Sym(Rc<str>),
Pair(Rc<Cons>),
Closure(Rc<Closure>),
Builtin(BuiltinFn),
}