abstract City = { cat City ; fun MkCity : String -> City ; } ;