Field equality

It is not possible to have the same name for a thrift type A and 2 return types B and B'. So, if the fields are created via the macros we are good. Is there a good reason to allow Fields to be created outside the context of a macro?