Use a selector macro.
Define some macros for converting to primitive values.
Do some basic UI stuff.
Moved selector macro into core.clj.