let build_wpos export kf bhv wrn dep propid gpred =
    if Wp_parameters.Split.get () || 
      (WpAnnot.is_assigns propid && PO.assigns_method() = Mcfg.EffectAssigns)
    then
      let goals = Splitter.split (PO.assigns_method ()) gpred in
      if Bag.is_empty goals then
        export_wpo export kf bhv wrn dep propid F.p_true
      else
        WpAnnot.split (export_wpo export kf bhv wrn dep) propid goals
    else
      export_wpo export kf bhv wrn dep propid gpred