def procedureBody(p): return pair.caddr(p)
def definitionValue(exp): if isSymbol(pair.cadr(exp)): return pair.caddr(exp) return makeLambda(pair.cdr(pair.cadr(exp)), pair.cddr(exp))
def ifConsequent(exp): return pair.caddr(exp)
def assignmentValue(exp): return pair.caddr(exp)