@JohnAD I think I agree with your gut reaction. I have tried a few times to replace the `.`, `.=`, and `.()` a few times already with `->` for exactly this reason, but I couldn't find a way to replicate all of my usecases with it. I guess I could bite the bullet and just use something like `cppObject.tryCall(CppMethod, args)` \-- which definitely screams "here be dragons" \-- but after using something like `dotOperators` this lessens "programmer happiness" on my part.
@shirleyquirk yes relying on the underlying backend to find and fix typos is definitely one of the weaknesses of my interop design. I do find it worth the trouble though given that the porting aspect of interoping with C++ is taken out of the equation and I go straight to prototyping. I have tried other solutions like generating the C/C++ interfaces with tools like nimterop, but it simply does not work with the libraries I use. Thanks guys for your input. Perhaps a better direction to go with this is to completely eliminate the need for dot operator overloading and instead allow similar capabilities but using other operators like `->`?