Improve type promotion