let value_exn o ~msg =
    match o with
    | Some o -> o
    | None -> raise (No_value msg)