I've always felt type coercion is a pragmatic recognition of a lack of time, but also a lack of analysis and abstraction. If you are type coercing in an existing body of code, you probably walked into an ill-understood quirk in the key information model, or a change in circumstance.
If you are routinely coercing types in new code, you haven't done enough design and analysis. Something is off-key.
If you are routinely coercing types in new code, you haven't done enough design and analysis. Something is off-key.