Conservative structural terms extracted from Elixir AST and ExAST patterns.
These terms are intended for candidate retrieval. They are not a substitute for ExAST verification.
@type mode() :: :source | :pattern
@type signal() :: :high | :normal | :low
@spec from_ast(Macro.t()) :: MapSet.t(String.t())
@spec from_pattern(term() | [term()]) :: MapSet.t(String.t())
@spec from_source(String.t()) :: MapSet.t(String.t())
@spec high_signal?(String.t()) :: boolean()
@spec low_signal?(String.t()) :: boolean()
@spec signal(String.t()) :: signal()