Should have implemented hashCode ages ago