require, import, and alias
All of the rules described so far apply to variable bindings. When it comes to one of these three special forms, their effect persists until the end of the do block they are called in. Effectively, those forms see a slightly different scope division in which control flow constructs create a new lexical scope. Scoping Rules in Elixir (and Erlang) — Elixir documentation
If you want to keep the current scope unaffected, wrap the evaluation in a function so the the effect is limited to the new scope.