Pertaining to programming languages that can exchange information through commonly agreed upon definitions and usage patterns for types.