let kind_to_select config kind id = match kind with
    | WpStrategy.Agoal ->
        if goal_to_select config id then Some WpStrategy.Agoal else None
    | WpStrategy.Aboth goal ->
        let goal = goal && goal_to_select config id in
          Some (WpStrategy.Aboth goal)
    | WpStrategy.AcutB goal ->
        let goal = goal && goal_to_select config id in
          Some (WpStrategy.AcutB goal)
    | WpStrategy.AcallPre goal ->
        let goal = goal && goal_to_select config id in
          Some (WpStrategy.AcallPre goal)
    | WpStrategy.Ahyp | WpStrategy.AcallHyp -> Some kind