Starting to implement subtyping from scratch