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