add basic default hash code method, doesn't work for maps/lists