unfortunately not, such a document would be welcome :)
we cannot copy it from the original Elixir implementation, since
that one lacked such a document as well. only by reading the
code, I discovered that one can do really nice things with
Elixir that I was not aware of.
in the new code the 'Entity' class is basically a Declarative
base class with a custom metaclass, that process the
'statements' and 'relationships'.
where statements are the : using_options(...) stuff, the only
reason I took those over was to be backward compatible,
since all the stuff you can do with statements can be done
with pure Declarative as well.
but the relationship configuration is more complex, as here
Elixir does preprocessing before moving things to Declarative,
to connect inverse relations and generate foreign keys,
relationship tables etc.
This preprocessing step is interesting, as it can be used
to 'automate' certain patterns that are used in applications,
such as 'state', 'type' or things like that.
The new implementation no longer needs the 'setup_all' call,
and the confusing '__metadata__'