Type
App e tp encodes the top-level application of an
Expr expression. It includes first-order expression forms that
do not bind variables (contrast with
NonceApp).
Parameter
e is used everywhere a recursive sub-expression
would go. Uses of the
App type will tie the knot through this
parameter. Parameter
tp indicates the type of the expression.