let matrix_transpose = fun m_array_array -> fun width ->
let get_element = fun i -> fun array -> Array.get array i in
let get_line = fun array_array -> fun i ->
Array.map (get_element i) array_array in
let transpose array_array = Array.init width (get_line array_array) in
transpose m_array_array