I would like to propose a small new feature: add an optional tzinfo argument to datetime.combine() so that

 datetime.combine(d, t, info)

returns the same object as

 datetime.combine(d, t).replace(tzinfo=info)

but without creating an intermediate naive instance.