I am the Intent protocol.
All the types that implement this protocol.
@type t() :: term()
@spec commitments(t()) :: MapSet.t()
@spec compose(t(), t()) :: t()
@spec nullifiers(t()) :: MapSet.t()
@spec verify(t()) :: true | {:error, any()}