···11+open Bwd
22+13let nub xs =
24 let rec loop acc = function
33- | [] -> List.rev acc
55+ | [] -> Bwd.prepend acc []
46 | x :: xs ->
55- let acc = if List.mem x acc then acc else x :: acc in
77+ let acc = if Bwd.mem x acc then acc else Bwd.snoc acc x in
68 loop acc xs
79 in
88- loop [] xs
1010+ loop Bwd.Emp xs