What type would write() take in such a scenario? I assume that's given by the locale (LC_CTYPE, or similar) and not known at coding time.
If _typeof(write) ends up something even more horrible than ditto map, I'd argue it would probably do more harm (to debuggability) than good.
(My thinking is of course that function(string(utf8)|string(...all encoding permutations known to Locale.Charset), mixed ... : int) is a seriously useless type, and would choke type system and programmer alike. / _typeof() ate my hamsscrollback)