encoding the type in the filename isn't a bad way of ensuring the type never gets lost
The most likely way of losing the type is surely if a user accidentally (or maliciously) changes the filename extension. That is why Windows pops up an alarmist warning if a user tries to change their file extension. Whereas a largely invisible (but still changeable) attribute is much less likely to 'get lost' due to user intervention.
Why can't one strive for better?
Given the reality of prevalent general ignorance why not embrace it and eradicate writing in schools, replacing it with touch-tying lessons?
The most likely way of losing the type is surely if a user accidentally (or maliciously) changes the filename extension. That is why Windows pops up an alarmist warning if a user tries to change their file extension. Whereas a largely invisible (but still changeable) attribute is much less likely to 'get lost' due to user intervention.