I think there be an `except +` declaration here. `std::map` will throw exceptions such as `bad_alloc`. Cython can translate those into Python exceptions thanks to a patch by yours truly, but I don't see exception handling code in the generated C++.