Neat.  I think I would prefix the first 2 with something like ex-, to  
avoid problems with definitions like:
(define 2.3 true)
(define 2 true)
In early versions of Smalltalk, it was actually possible to assign  
True to the object 2, or vice versa, which caused all kinds of  
interesting behavior.  That isn't a problem any more, and it isn't in  
DrScheme either.
Geoffrey
--
Geoffrey S. Knauth | http://knauth.org/gsk