Derive Eq where possible
Derive Clone where possible