turn on all warnings and make them errors
C module shouldn't have to know about C++ functions at all
should be able to unpack functions