Improve the way Equals and Hashcode are generated. #150