Delete unused macros
Improve code documentation
Rename abc_throw() to ABC_THROW() to match macro naming convention