https://elixirforum.com/t/collect-modules-that-use-some-other-module-at-compile-time/13742/4
This is possible by defining a module within the __using__
macro, like this:
defmodule Macros do
@spec users() :: [atom()]
def users() do
pre = to_string(__MODULE__.Using) <> "."