anchor.diff:                      | _ -> false
                   if isNullaryUnion then
                       let nullaryCase = FSharpType.GetUnionCases ty |> Array.filter (fun uc -> uc.GetFields().Length = 0) |> Array.item 0
  -                    let declaringType =
  -                        if requiresQualifiedAccess ty then Some ty
  -                        else None
  -                    UnionCaseValue(declaringType, nullaryCase.Name, [| |])
  +                    UnionCaseValue(nullaryCase.Name, [| |])
                   elif isUnitType ty then UnitValue
                   else NullValue
               | _ -> 
  
positive.code:         | TupleValue of TupleType * (obj * Type)[]
          | FunctionClosureValue of Type 
          | RecordValue of (string * obj * Type)[]
          | UnionCaseValue of declaringType: Type option * string * (string * (obj * Type))[]
          | ExceptionValue of Type * (string * (obj * Type))[]
          | NullValue
          | UnitValue
          | ObjectValue of obj
  
      module Value =
  
          // Returns true if a given type has the RequireQualifiedAccess attribute
          let private requiresQualifiedAccess (declaringType: Type) =
              let rqaAttr = declaringType.GetCustomAttribute(typeof<RequireQualifiedAccessAttribute>, false)
              isNull rqaAttr |> not
  
          // Analyze an object to see if it the representation
          // of an F# value.
          let GetValueInfoOfObject (bindingFlags: BindingFlags) (obj: obj) =
  
negative.code:         | null -> None 
          | _ -> 
              match Value.GetValueInfo bindingFlags (x, ty) with
              | UnionCaseValue ("Cons", recd) -> Some (unpackCons recd)
              | UnionCaseValue ("Empty", [| |]) -> None
              | _ -> failwith "List value had unexpected ValueInfo"
  
      let structL = wordL (tagKeyword "struct")
  