> If align is 0, your version does 3 calls to writeByte() while mine does one call to write().

And the original code does 4 calls.  (And I don't think it's actually possible for align to be non-zero, so this code is already an optimization)

> I do not agree that my version is ridiculously complicated, all it does is simply fill an array. I understand your argument about micro-optimizing something, but in this case do not agree with it. The road to a slow compiler is filled with individually insignificant slowdowns, and a primary attraction of dmd is ridiculously fast compile times.

Since "ridiculously complicated" is a very subjective term I guess we'll have to agree to disagree here.  I do not consider the readability hit worth the unnoticeable difference in performance.  Also, I would have done it that way if the surrounding code did it that way.

> But I turned on auto-merge because I'm tired of arguing about it.

Thank you.