Refactored to use inline union for Lisp values