What's the typespec for an AST?

What’s the type to use for a function that returns a quote?

For example:

@spec f() :: what_goes_here
def f() do
  quote do
    code
  end
end

I don’t see anything in https://typespecs.md, and I tried ast() but it didn’t work.

This is a problem I ran into in a real situation, but I can just skip the typespec on that function, so this question is mostly academic.

Macro.t/0 seems to be the appropriate type.

2 Likes