anchor.diff:          let evalHead evalApply fnOriginOpt fnName evaledArgs world =
               match evalTryUnconsInner evalApply fnOriginOpt fnName evaledArgs world with
               | Right (Right (head, _, world)) -> (head, world)
  -            | Right (Left world) -> (Violation ([!!"InvalidArgumentValue"; !!"Container"; !!(String.capitalize fnName)], "Cannot apply " + fnName + " to a container with no elements.", fnOriginOpt), world)
  +            | Right (Left world) -> (Violation ([!!"OutOfRangeArgument"; !!"Container"; !!(String.capitalize fnName)], "Cannot apply " + fnName + " to a container with no elements.", fnOriginOpt), world)
               | Left (violation, world) -> (violation, world)
   
           let evalTryTail evalApply fnOriginOpt fnName evaledArgs world =
  
positive.code:         let evalUncons evalApply fnOriginOpt fnName evaledArgs world =
              match evalTryUnconsInner evalApply fnOriginOpt fnName evaledArgs world with
              | Right (Right (head, tail, world)) -> (Tuple [|head; tail|], world)
              | Right (Left world) -> (Violation ([!!"InvalidArgumentValue"; !!"Container"; !!(String.capitalize fnName)], "Cannot apply " + fnName + " to an empty container.", fnOriginOpt), world)
              | Left (violation, world) -> (violation, world)
  
          let evalCons fnOriginOpt fnName evaledArgs world =
  
negative.code:                         match evalApply [fn; acc; elem] fnOriginOpt world with
                          | (Option (Some value), world) -> (Right (value, value :: accs, world))
                          | (Option None, world) -> Left (List accs, world)
                          | _ -> Left (Violation ([!!"InvalidResult"; !!"Container"; !!(String.capitalize fnName)], "Function " + fnName + "'s scanner must return an option.", fnOriginOpt), world))
                          (Right (state, [], world))
                          list
                  match eir with
  