working compositional type system