Using derive to explain hierarchies