Revert "TRY: substritute Data.Data.extM by own class; failed"

This reverts commit 9dc87d7ecf7e52981ee93d5845364be459231715.
Revert "used Data.Data instead of this library"

This reverts commit 9368b28d517a453b323a53c84fa89491df4f5454.