type system WIP III