let select (l:'a list) (fieldlist:int list) = let a = Array.of_list l in let rec loop a = function | [] -> [] | f::fl -> (Array.get a f)::(loop a fl) in loop a fieldlist