Traits for aggregate types - structs, classes, unions.
Traits for arrays and array-like types.
Basic traits allowing to distinguish various types between each other. Any more convoluted traits dedicated to specific type kinds should go in dedicated modules.
Traits specializing in finding out indirections within compound types.
This package contains various template utilities that allow to reason about types in some way. Most traits answer simple boolean question about parameter type having certain qualities ("traits") thus the name.