This code, that a sane language/language implementation refuses at compile-time, runs:
import std.stdio;
void main() {
    writefln("%d", "hello");
}
And it outputs:
['h', 'e', 'l', 'l', 'o']
Is this good/expected/acceptable/buggy?
Bye,
bearophile