#[macro_export]
macro_rules! array_arange {
(Tuple2<$t1:ty, $t2:ty>, $($tt:tt)*) => {{
compile_error!("only `Numeric` types are supported")
}};
(Tuple3<$t1:ty, $t2:ty, $t3:ty>, $($tt:tt)*) => {{
compile_error!("only `Numeric` types are supported")
}};
(List<$t1:ty>, $($tt:tt)*) => {{
compile_error!("only `Numeric` types are supported")
}};
(char, $($tt:tt)*) => {{
compile_error!("only `Numeric` types are supported")
}};
(String, $($tt:tt)*) => {{
compile_error!("only `Numeric` types are supported")
}};
($tt:ty, $n:expr, $m:expr) => {
Array::<$tt>::arange($n, $m, None)
};
($tt:ty, $n:expr, $m:expr, $k:expr) => {{
Array::<$tt>::arange($n, $m, Some($k))
}};
}