add common type system homework