According to the docs, three element tuples are “representing calls or variables”, so for instance {:{}, [], [1, 2, 3]}
can be thought of as a call to the tuple constructor {}/1
(which is a special form, like %{}/1
, __MODULE__/0
or with/1
).
My interest however was in the cases where the first element in that 3-tuple is another 3-tuple. I was writing a little code style checker like credo as an exercise and stumbled upon the “weird” case of the dot alias ast and thought “what else am I missing?”.
Yes, I remember reading that is the reason but I can’t remember exactly where I read that.