Link: https://www.youtube.com/watch?v=2JB1_e5wZmU
Separate representation from identity.
E.g.:
Is an EmailAddress just a string? No.
Is a CustomerId just an integer? No. Can you add two CustomerId’s together and get another CustomerId? No, that doesn’t make any sense.
So while CustomerId may be represented by an integer under the hood, when modelling our domain we should create our own types composed of those primitive types, and these are the types that we use in our code.