+ prerr_endline (Printf.sprintf "make_attributes %s %s" n s);
+ (p,n,s) :: make_attributes (List.tl l1) tl *)
+let rec make_attributes l1 = function
+ | [] -> []
+ | hd :: tl ->
+ (match !hd with
+ | None -> make_attributes (List.tl l1) tl
+ | Some s ->
+ let p,n = List.hd l1 in
+ prerr_endline (Printf.sprintf "make_attributes %s %s" n s);
+ hd := None;
+ (p,n,s) :: make_attributes (List.tl l1) tl)