let fold2_exn t1 t2 ~init ~f =     let lgth1 = (length t1) in     let lgth2 = (length t2) in     match lgth1, lgth2 with     | 0, 0 -> init     | _, _ when lgth1 <> lgth2 -> invalid_arg "fold2_exn"     | lgth1, lgth2 ->         let res = ref init in         for i = 0 to lgth1 - 1 do           res := f !res (B.get t1 i) (B.get t2 i);         done;         !res