A generalization of the form denoted by meta in silly is
recognized by the virtual machine and allows a slightly more efficient
encoding of recursive applications. An expression recur p
has the representation indicated by this theorem,
recur]] p = (((nil,p),nil),nil)
which implies that [[meta]] = [[recur]] (nil,nil).
If p is non-nil, a tree of the form [[recur]]
p is interpreted as follows. Note that P4 is
equivalent to the special case of this property for which p
is (nil,nil).
recur]] p) x = [[meta]] ([[field]] p) x
The rationale is that meta would very frequently be composed with
a deconstruction field p, so the virtual machine saves some
time and space by allowing the two of them to be encoded in a smaller
tree with the combined meaning.