anchor.diff:                              (Const.eq2_lid, 2)
                           ] in
           let rec aux f (lid, arity) =
  -            let t, args = head_and_args (unmeta f) in
  +            let t, args = head_and_args (unmeta_monadic f) in
               let t = un_uinst t in
               if is_constructor t lid
               && List.length args = arity
  
positive.code:     | BaseConn of lident * args
  
  let destruct_typ_as_formula f : option<connective> =
      let destruct_base_conn f =
          let connectives = [ (Const.true_lid,  0);
                              (Const.false_lid, 0);
  
negative.code:             | _ -> None in
          aux None [] t in
  
      let phi = unmeta_monadic f in
          match destruct_base_conn phi with
          | Some b -> Some b
          | None -> destruct_q_conn phi
  