Working on the type system