eal: introduce destructor macros