One would expect ```rust for v in (0..n).map(|_| &[0, 1]).multi_cartesian_product() { println!("{:?}", v); } ``` to enumerate all {0, 1} vectors of length `n`. However, it fails when `n == 0`, printing no vectors instead of the [expected](https://en.wikipedia.org/wiki/Empty_product#Nullary_Cartesian_product) single vector `[]`.