assume worst-case alignment in PromoteIntegers, as we actually break on unaligned operations