use abstract _hash and _hasheq fields, and make sure print-dup works