It is better to declare the namespace of each function in the C file rather than "open" the namespace as this may lead to inconsistencies between the declaration in the H files and definition in the C file.
Avoids the clutter and maintenance effort associated with providing the function signature string.
The new NotImplemented macro uses __PRETTY_FUNCTION__ for GNU compatible compilers otherwise __func__ to provide the function name string.