text: Title: Subsequent asserts seem to ignore the matcher
  Body: Hello! I've been recently exploring this tool and I wanted to create a fixture that I can re-use with my specific matcher, but it seems that subsequent calls in the same test ignore this matcher. I'm not sure if this is intended or not. I wasn't able to find a definitive answer. Apologies if this has been asked before!
  
  
  <!-- A clear and concise description of what the bug is. -->
  
  **To reproduce**:
  
  1. Run the following test with pytest:
  ```python
  @pytest.fixture
  def my_snapshot(snapshot):
      return snapshot(matcher=path_type({"field": (str,)}))
  
  
  def test_snapshotting(my_snapshot):
      assert {"field": "string"} == my_snapshot
      assert {"field": "string"} == my_snapshot
  ```
  
  This results in the following snapshot:
  ```
  # serializer version: 1
  # name: test_snapshotting
    dict({
      'field': str,
    })
  # ---
  # name: test_snapshotting.1
    dict({
      'field': 'string',
    })
  # ---
  
  ```
  
  **Expected behavior**
  
  I would've expected that both snapshots would compare the type, instead of only the first one is saved with the type and the second one saves the value like the matcher wasn't there at all.
  
  Providing the matcher to both asserts with `my_snapshot` solves this issue, but I don't find this copy-paste feasible too much in a codebase with over a thousand tests. A generic fixture that I define once and re-use would be ideal.
  
  **Screenshots**
  
  <!-- If applicable, add screenshots to help explain your problem. -->
  
  **Environment (please complete the following information):**
  
  - OS: MacOS 13.4.1
  - Syrupy Version: 4.4.0
  - Python Version: 3.11
  
  **Additional context**
  
  <!-- Add any other context about the problem here. -->
  