split tree-checking into separate module from misc checks
outline for checkers for rest of special forms
big problem discovered: let, fn, and loop are macros -- not special forms (let*, fn*, and loop* are the corresponding special forms)