lib/matchers/context.ex

defmodule Matcher.Context do
  defstruct path: []

  @type t() :: %__MODULE__{
          path: list(term())
        }

  def append_path(context, path) do
    %{context | path: context.path ++ [path]}
  end
end