modifying type system