NEVER define a static function in a header file
- also add lots of WARN_UNUSED_RETURN