let map2_exn t1 t2 ~f =     let lgth1 = (length t1) in     let lgth2 = (length t2) in     match lgth1, lgth2 with     | 0, 0 -> empty     | _, _ when lgth1 <> lgth2 -> invalid_arg "map2_exn"     | lgth1, lgth2 ->         B.mapi ~f:(fun i c -> f c (B.get t2 i)) t1