let data_in_visible ff data_in = match data_in with
    | None -> true
    | Some data_in ->
        (* it is too difficult to know if the callers of this slice
        * compute [data_in] or not, but let's see if, by chance,
        * some data have been selected manually... *)

        let m = Fct_slice.get_input_loc_under_mark ff data_in in
        let v = visible_mark m in
          SlicingParameters.debug ~level:2
            "[SlicingTransform.Visibility.data_in_visible] data %a is %svisible"
            Locations.Zone.pretty data_in (if v then "" else "in");
          v