@sls1005 I just tried out this, and that works too: proc `[]`*[T](it: ListIter[T]): T {.importcpp: "*#".} Run
1. Changed `(*#)` to `*#`. What did the parentheses do? 2. Removed `nodecl` pragma. I am not exactly clear what that did. Is there a scenario that will throw an error because that pragma wasn't added?