Primitive obsession is a code smell. The proposal is to replace strings, and other primitive data types with domain types. For example, user's id in system can be represented by an integer or Guid (UUID), or string (username). However, there are benefits that come along with creating a type called