Order should be consistent: TYPES > FUNCTIONS > MACROS > CALLBACKS
Merge pull request #157 from eksperimental/consistent_order3

Order should be consistent: TYPES > FUNCTIONS > MACROS > CALLBACKS