I think useInline part is necessary.

To inline a function call, semantic analysis of the function body (== semantic3) should be done *even if* it exists in merely imported module.