types: definition of operations on Type