update subtyping

add subtyping rules