The C# community has so ubiquitously used the "I" prefix to denote an interface that even the most inexperienced programmers know to use it.
Why is it then that we do not prefix enums, abstract classes or structs (possibly with "E", "A" and "S" respectively)?
For example, if we did mark all abstract classes with an "A", it would provide valuable information about that type which, while it could be inferred, is not immediately obvious.
Please note that I am not advocating for this change, I am merely trying to understand why we do not do things this way.
This thread answers why we do use the "I" prefix but doesn't answer why we don't use other prefixes.