modified lisp value struct to support user defined functions