type Opaque* {.incompleteStruct.} = object type Foo*[T] = object a: ptr float32 b: ptr T c: ptr Opaque d: ptr (ptr T) e: ptr (ptr float32) f: ptr (ptr Opaque) g: ptr T h: ptr int32 i: ptr (ptr int32) proc root*(arg: ptr int32, foo: ptr Foo[uint64], d: ptr (ptr Opaque)) {.importc: "root".}