I said that cause the datatypes handle is declared as an APTR in the docs so I thought it was supposed to be considered a black box
It *is* considered a black box. But if you think about how BOOPSI works and know that datatpyes are subclasses of gadget class, then there is no other way than that the datatype object pointer points to a struct Gadget.
The array method is better (more "legal"), though.
Bye,
Thomas