Internal binder frame for matcher equation statement planning.
Summary
Types
@type binder() :: {atom(), Theoria.Term.t()}
@type t() :: %Theoria.Equation.Matcher.Statement.Frame{binders: [binder()]}
Functions
@spec fetch(t(), atom()) :: {:ok, {binder(), non_neg_integer()}} | {:error, term()}
@spec forall(t(), Theoria.Term.t()) :: Theoria.Term.t()
@spec push(t(), atom(), Theoria.Term.t()) :: t()
@spec ref(t(), atom()) :: {:ok, Theoria.Term.BVar.t()} | {:error, term()}
@spec ref!(t(), atom()) :: Theoria.Term.BVar.t()