* fixes to make sand/shredding work with ocaml 4
* avoid non-tail recursion leading to stack overflow in shredding when building lists of results