> The difference is that happens in the domain layer instead of the type layer.
What's those layers you are talking about? In my domain-logic code I use types of course so there is no dedicated "type layer".