We introduce a statically-typed language extensibility mechanism called active type-checking and translation (AT&T) that aims toward expressiveness, safety and composability. This mechanism allows users to equip type definitions with type-level functions that control the compilation process directly, at points that are relevant to that type’s semantics.