Currently when you import a module the compiler will only generate code for
functions that are called. The only way I can see to force Nim to compile the
rest is to mark them `{.exportc.}` which isn't ideal. There is a `{.used.}`
pragma but that doesn't seem to do what I want. It would be a great help when
writing FFI bindings if a module could be compiled in full so that the C/C++
compiler has a chance to statically analyze the generated code. How much effort
would it take to modify `{.used.}` and/or `{.importc(pp).}` to support this
behavior?