public override bool Equals(object obj) { var other = (obj as ImmutableValueList <T>)?.items; if (other == null) { return(false); } return(items.DeepEqualityWith(other)); }