anchor.diff:      //    Unchecked.defaultof<_>
   
       let Between (x, y) =
  -        let isSimple, result = And2 (AtLeast x) (NotAtLeast y)
  -        if isSimple then result else simplify result
  +        And [ AtLeast x; NotAtLeast y ]
  +        //let isSimple, result = And2 (AtLeast x) (NotAtLeast y)
  +        //if isSimple then result else simplify result
   
       let combineRestrictionsWithOr (x : FrameworkRestriction) y =
  -        let isSimple, result = Or2 x y
  -        if isSimple then result else simplify result
  +        Or [ x; y ]
  +        //let isSimple, result = Or2 x y
  +        //if isSimple then result else simplify result
   
       let (|HasNoRestriction|_|) x =
           if x = NoRestriction then Some () else None
   
       let combineRestrictionsWithAnd (x : FrameworkRestriction) y =
  -        let isSimple, result = And2 x y
  -        if isSimple then result else simplify result
  +        And [ x; y ]
  +        //let isSimple, result = And2 x y
  +        //if isSimple then result else simplify result
   
   type FrameworkRestrictions =
   | ExplicitRestriction of FrameworkRestriction
  
positive.code:             |> List.map (fun andFormula -> { Literals = andFormula.Literals |> List.distinct |> List.sort })
              |> List.distinct
              |> List.sort 
              |> fun newOrList -> FrameworkRestriction.WithOrListInternal newOrList fr
          let optimize fr =
              fr
              |> removeNegatedLiteralsWhichOccurSinglePositive
  
negative.code:                 | true, false -> FrameworkRestriction.And
                  | false, true -> FrameworkRestriction.OrAlreadySimplified
                  | false, false -> FrameworkRestriction.Or
              operands |> List.rev |> f, next
          | h when h.StartsWith "NOT" ->
              let next = h.Substring 2
  
  