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