A binary datatype would be fine too, but how would you find non-conflicting type names now?
string(8) works on the technical level (it's easy to check), but it doesn't really work on the semantical level, I agree. But it *does* solve the problem better than nothing... I think. (Unless ->write et al are in big trouble now.)