better symbol sorting, but still not good enough
better error reporting
symbol sorting mechanism

using `array_reduce` instead of `usort` to force php to properly sort
the symbols
change case
php magic constants