Implements type sanity checking for ASTs resulting from macros. Lots of room for improvement here.
proc annotateType(n: PNode; t: PType; conf: ConfigRef) {...}{. raises: [Exception, ValueError, IOError, ERecoverableError], tags: [RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}