lib/protocol.ex

defprotocol Matcher.Protocol do
  @fallback_to_any true

  @spec match(any, any, Matcher.Context.t()) :: {:ok, nil} | {:error, %{}}
  def match(matcher, value, context)
end