boolean (Object o) { if (o == this) { return true; } if (!(o instanceof VarType vt)) { return false; } return getType() == vt.getType() && getArrayDim() == vt.getArrayDim() && Objects.equals(getValue(), vt.getValue()); }