returns signed bigger type of Ts if unsigned types are provided, smaller unsigned types will be returned