Coding style: no more 'A' for abstract types
Little macros improvement
New generic and basic reflection system