Type soundness for Dependent Object Types (DOT)