fix Diffable for recursive classes