let map_list_of_array f a =
    let rec aux accu i =
     if i < 0
     then accu
     else aux (( f a.(i) ) :: accu) (pred i)
    in aux [] (pred ( Array.length a ))