Tip:
Highlight text to annotate it
X
The first part is our little note to ourselves. This is a function value.
Note that there's little repetition between the abstract syntax tree marker
for this is a function element and also this is a function value.
We could have made them different. It's our choice when we're writing the interpreter.
The next thing to pass in is the parameters, the next thing is the body,
and the last thing is the environment in which the function was defined.
And we're done. This is how we do a function definition.