This is a distillation of a discussion on the mailing list regarding C/C++ extensions.
Document the C/C++ code guidelines
+1 on this provided we are happy to take a flexible approach on keeping interface and core C/C++ code separate, as in some cases it is more sensible to keep them together, e.g. if the core code is very simple, or if the core code needs access to a reference-counted python object for longer than a single C/C++ function call.
@ianthomas23: Agreed. Exceptions can always be made when appropriate.