let parse_samtools s =   match String.split ~on:(`Character ':') s with   | [] -> assert false   | [one] -> `Chromosome one   | [one; two] ->     begin match String.split ~on:(`Character '-') two with     | [left; right] ->       begin match Int.of_string left, Int.of_string right with       | Some b, Some e -> `Chromosome_interval (one, b, e)       | _ -> failwithf "Cannot parse %S into 2 loci" two       end     | _ -> failwithf "Not one '-' in %S" two     end   | _ -> failwithf "Not one or zero ':' in %S" s