improve inlining of promote_type. fixes #3734