This looks easier than it is in practice...
- For each new body type added, you must find and change all locations where a type-specific decision is made.
- In a large package, these may be hundreds of locations in a large number of different files.
- You must get them all, or you have a nice little bug.
- You can easily introduce new bugs because you are forced to change existing, debugged (and potentially certified) code.