ocaml-batteries-team/batteries-included — pull request #360 by wistery-k (2013-02-23 11:34:17+00:00)
Title: BatList: fix BatList.n_cartesian_product [] = assert false

`BatList.n_cartesian_product [] = assert false` is clearly a bug.
Add a case `[] -> [[]]` because [[]] seems to be one right answer mathematically.
Remove the case `[l] -> List.map (fun i -> [i]) l` because it becomes unnecessary.

Add unit tests for n_cartesian_product.