Ross investigates how to make the design of object-oriented type systems (particularly generics) better match how they are used in industry while still adhering to principles such as decidability and simplicity. He first applied this approach to Java's type system (PLDI 2011), and now he focuses his efforts on Ceylon, making sure Ceylon's powerful features remain feasible and all work together cohesively.