Even though type traits and concepts share similarities, they have distinct purpose in usage. Type traits serve as “function” of types, whereas concepts constrains a type base on requirements. Concepts are often implemented in term of type traits under the hood, but they are seperate things.

Using concepts as another way to write traits, but that is not what they’re supposed to be used for.