Common type system