I started down the path of allowing imports to also be able to define
directives that then get merged and validated when composing the final
module, but this started to get too complicated and since this is
already pretty niche just went with top level modules being able to
declare directives. A lot of that is still there though if someone
wanted to implement.
---------
Co-authored-by: Elabajaba <Elabajaba@users.noreply.github.com>