**foo.nim** import bar type Foo* = ref FooObj FooObj* = object of RootObj b: Bar
**bar.nim** import foo type Bar* = ref BarObj BarObj* = object of RootObj proc foo*(s: Bar, p: Foo) = discard **run.nim** import foo, bar > **nim c run.nim** bar.nim(8, 22) Error: undeclared identifier: 'Foo' Is it because of cross-importing, or some kind of a bug? Error message is not very helpful.