Initial equals()/hashCode(). copy() is still WIP.