more sensible scalarShiftType