I see no major difference between loading a library and eval, other than working with different languages. You are in fact, adding code to your process both ways, it just happens to that one is machine code. It's still code.
It is not code that is highly coupled to runtime data. That's the difference.