Further to the workaround for this bug I decided to see if could abolish the redefinition of `Meta_data_by_type' in class EL_REFLECTIVELY_SETTABLE_STORABLE and instead define the return types of `new_meta_data' explicitly as EL_CLASS_META_DATA and EL_STORABLE_CLASS_META_DATA for class EL_REFLECTIVELY_SETTABLE_STORABLE. This seems to have worked so this bug has a silver lining :-) My code is now simplified.