Equality and hashing for (almost) free: Generating implementations from abstraction functions | IEEE Conference Publication | IEEE Xplore