type A* = object namespacex: int32 floatx: float32 type B* = object namespacex: int32 floatx: float32 type C_Tag* = uint8 type D_Body* = object namespacex: int32 floatx: float32 type C* = object tag*: C_Tag d*: D_Body proc root*(a: A, b: B, c: C, namespacex: int32, floatx: float32) {.importc: "root".}