Andrei Alexandrescu:
Actually this is good because it allows to customize the format string to print only a subset of available information (I've actually used this).
Your use case is a special case that breaks a general rule. That behavour is surprising, and it risks hiding some information silently. I think format() is more correct here. If you want a special behavour you should use a special function as partialWritefln that ignores arguments not present in the format string.
Bye, bearophile