Add a typed superclass and rename to typed