let rec deoptionalise = function | Some x :: xs -> x :: deoptionalise xs | None :: xs -> deoptionalise xs | [] -> [] let ( &?> ) left right = match left with Error _ -> right | ok -> ok let ( &> ) left right = match left with Error _ -> right | Ok ok -> ok