Tidied up implementations of destroy() in traits (fixes #21)