type Fns* = object
noArgs: proc () {.cdecl.}
anonymousArg: proc (a0: int32) {.cdecl.}
returnsNumber: proc (): int32 {.cdecl.}
namedArgs: proc (first: int32, snd: int16): int8 {.cdecl.}
namedArgsWildcards: proc (wild: int32, named: int16, wild1: int64): int8 {.cdecl.}
proc root*(x_fns: Fns) {.importc: "root".}