Make sure the car is a symbol before treating it as one
Misc. changes
typedef structs and enums
Fix segfault on exit

yylex_destroy() seems to fclose(yyout) itself, so we shouldn't do it
Simplify Makefile

Use implicit rules and wildcards
Move all source files to src/
Do some type checking in builtins
Don't double-indent switch cases