new-style concept fails to match
### Description

```nim
type
  A = object
    x: int
  B*[T] = object
    b: T
  AConcept* = concept
    proc implementation(s: var Self, p1: B[int])

proc implementation*(r: var A, p1: B[int])=
  discard

proc accept*(r: var AConcept)=
  discard

var a = A()
a.accept()
```

changing the typedef section to this and it will work:
```nim
type
  A = object
    x: int
  AConcept* = concept
    proc implementation(s: var Self, p1: B[int])
  B*[T] = object
    b: T
```


### Nim Version

Nim Compiler Version 2.2.1 [Linux: amd64]
Compiled at 2024-11-15
Copyright (c) 2006-2024 by Andreas Rumpf

git hash: 726195d784b452e001ccf31ee3f79655a92c1fa6
active boot switches: -d:release

### Current Output

```text
Error: type mismatch
Expression: accept(a)
  [1] a: A

Expected one of (first mismatch at [position]):
[1] proc accept(r: var AConcept)
```


### Expected Output

_No response_

### Known Workarounds

_No response_

### Additional Information

I had something similar happen with imports too. That scenario had the concept matching encounter `tyGenericBody` but I'm not sure if this is the same