The reason why I think it’s fraught, is that it’s ...
# pact-net
m
The reason why I think it’s fraught, is that it’s unusual that any domain model is always an all-or-nothing version of itself. e.g. with a Product, you might have some fields that are populated for certain classes of products and different ones for others. There may be other fields that have enum types and the type of that field can change which required/optional fields come back. This can’t be easily done in the way the Golang struct tags work, because they are either there or not - so it means you can only every use those matchers for the “happy path” or default scenarios.