If $tau$ denotes a function with a value for the objects denoted by $tau_1$,..., $tau_k$, then the term {tt (value $tau$ $tau_1$ ... $tau_k$)} denotes the value of applying that function to the objects denoted by $tau_1$,...,$tau_k$. Otherwise, the value is undefined.
(Undefined (Arity Value))
(<- (Value ?F @Args) (If (And (Function ?F) (Member ?List ?F) (= (Butlast ?List) (Listof @Args))) (Last ?List))) (Instance-Of (Arity Value) Undefined) (<- (Apply ?F ?List) (If (And (Function ?F) (= ?List (Listof @Args))) (Value ?F @Args))) (<- (Map ?F ?List) (If (Null ?List) (Listof) (Cons (Value ?F (First ?List)) (Map ?F (Rest ?List)))))