Yes, I've used `#mangle` before. _Very_ helpful. `--nep1` is interesting.
My complaint -- that the C library being wrapped could have conflicting identifiers -- is a minor one. I can always find ways around that. UPPER_CASE macros are the most common collision, and that's not a big deal since **c2nim** works better on the pre-processed output anyway. But there is a larger issue here. You've injected too much novelty into **Nim**. This is a gigantic project. You've got to concentrate on making **Nim** as practical as possible, on its strengths: * Fast compilation * Fast runtime * Simple integration (w/ static binaries) * Simple generics and templates * Simple iterators * Simple concurrency (async/await + parallel blocks) * Light syntax * Strong type safety (including type constraints), with type-inferencing * Flexible but simple memory management * Simple FFI * Simple interface system (concepts, traits, interfaces, or whatever) There are no other languages like this. It's an amazing list, for a certain class of coder. Partial-casing is a loss of focus. It's cool and interesting, but it makes the language _less_ practical, not more. And it's an easy target for detractors -- an easy excuse to spurn the language. Anyway, I do see your point. With `--nep1`, we're actually making disparate C APIs look similar within Nim. Maybe that's a fair justification for partial-casing?
