Enabling the assertion in here causes a whole bunch of regression failures.
pub fn int_constant<T>(i: T, typ: Type) -> Self
where
T: Into<BigInt>,
{
assert!(typ.is_integer());
let i = i.into();
//TODO: This check fails on some regressions
// if i != 0 && i != 1 {
// assert!(
// typ.min_int() <= i && i <= typ.max_int(),
// "{} {} {} {:?}",
// i,
// typ.min_int(),
// typ.max_int(),
// typ
// );
// }
expr!(IntConstant(i), typ)
}