module
   └╴struct Variable
   └╴trait Variable
      └╴fn value
      └╴fn ty
      └╴fn assign
   └╴enum Value
   └╴trait Value
      └╴fn ty
      └╴fn default
      └╴fn default_int
      └╴fn default_bool
      └╴fn default_string
      └╴fn as_boolean
      └╴fn add
      └╴fn sub
      └╴fn mul
      └╴fn div
      └╴fn mod_
      └╴fn equals
      └╴fn greater_than
      └╴fn less_than
      └╴fn greater_than_equals
      └╴fn less_than_equals
      └╴fn not
      └╴fn and
      └╴fn or
   └╴trait Value
      └╴fn fmt
   └╴struct Visitor
   └╴struct Visitors
   └╴trait Visitors
      └╴fn default
   └╴trait Visitors
      └╴fn new
      └╴fn insert
      └╴fn get_by_node
   └╴enum Error
   └╴struct Context
   └╴trait Context<'a>
      └╴fn fmt
   └╴trait Context<'a>
      └╴fn new
      └╴fn with_program
      └╴fn with_input
      └╴fn with_cursor
      └╴fn eval_expr
      └╴fn eval_lit
      └╴fn lookup
      └╴fn lookup_mut
      └╴fn bind
      └╴fn eval_bin
      └╴fn eval_assign
      └╴fn eval_arith
      └╴fn eval_cmp
      └╴fn eval_logic
      └╴fn eval_unary
      └╴fn eval_if
      └╴fn eval_call
      └╴fn eval_declaration
      └╴fn eval_statement
      └╴fn eval_block
      └╴fn eval
   └╴fn evaluate
   └╴mod test
      └╴fn bin
      └╴fn test_evaluate_blocks
      └╴fn test_evaluate_if