There are several times where you're coding a method which has two parameters with the same type, lets say, integers,
NumberOfUnitB. Given that we're coding in a language that doesn't support named parameters, why is that we don't see people creating types closer to the domain logic, in this case,
UnitB, but just raw integers? It seems much more expressive to me.
And even in other situations, many times, we have to pass a bunch of flags, and they are just integers (even in cases where perfomance is not an issue), why we do this? Does it create unnecessary complications?
What are the problems of this approach of creating many types?