Algebraic subtyping_ Distinguished dissertation 2017