#2474 more cleanly separate inline and out-of-line module

#2480 discover the relevant hir for AST more reliably

#2484 implement DynMap — a dynamically typed heterogeneous map to make it easy to plumb stuff through compiler layers