Bonjour Ludovic, and thanks for your reply
I've just tried it, and it does not work better. The compiler
complains there are not selector Low_Level_Data for T1_Type.
This is exactly the same think in my mind. Perhaps the semantic is ambigous here.
T2_Type is required

The purpose is to have T2_Type and T3_Type, and
may be later some others, beside of each other.
I will try it soon and tell about the result. But at first sight, I
think that the compiler gonna complain that Set is a primitive of
T1_Type and thus that it must be defined in the public part. Further
more, I think Set would habe to be redefined for each T2_Type, T3_Type
and etc.
Will try and tell later
Have a nice day