Implementation block only gets parsed if its path only refer to the type identifier (just the identifier, no other path segments) in the same module.
This is a deep design issue.
Implementation block shouldn't be exposed in the IR because it's a Rust construct.
We need a fully built IR representation to be able to use the absolute path finding mechanism, which means that the implementation blocks should be introduced in a second parse pass after all the type definitions are parsed in the first pass.
Implementation block only gets parsed if its path only refer to the type identifier (just the identifier, no other path segments) in the same module.
This is a deep design issue.