Typing and Subtyping