let slice ?start ?finish t =     try Some (slice_exn ?start ?finish t)     with _ -> None