Extra fields in elements should be accounted in both equals and hashCode #1

FooDef #hashCode now takes into account the extra field `arity`.