CHECK: extern prototypes should be avoided in .h files
WARNING: do not add new typedefs