anchor.diff:      type SelectionInfo =
           { /// Contains the information about the field inside the selection.
             Field : Field
  -          /// Contains the selection of the field (in case the field is an Object, Interface, or Union type.
  +          /// Contains the selection of the field (in case the field is an Object, Interface, or Union type).
             mutable SelectionSet : SelectionInfo list
             /// Contains the reference to tye field type in the schema.
             FieldType : IntrospectionTypeRef option
  
positive.code:                     fragSelection
                  | None -> [])
  
      let private getOperationDefinitions (ast : Document) = ast.Definitions |> List.choose (function | OperationDefinition x -> Some x | _ -> None)
  
      let private getFragmentDefinitions (ast : Document) = ast.Definitions |> List.choose (function | FragmentDefinition x -> Some x | _ -> None)
  
      let internal getValidationContext (schemaInfo : SchemaInfo) (ast : Document) =
          let fragmentDefinitions = getFragmentDefinitions ast
  
negative.code:         let argumentsValid =
              selection.Field.Arguments
              |> collectResults (fun arg ->
                  let schemaArgumentNames =
                      metaTypeFields.TryFind(selection.Field.Name)
                      |> Option.map (fun x -> x.ArgumentNames)
                      |> Option.orElseWith (fun () -> selection.InputValues |> Option.map (Array.map (fun x -> x.Name)))
                  match schemaArgumentNames |> Option.bind (Array.tryFind (fun x -> x = arg.Name)) with
                  | Some _ -> Success
                  | None -> AstError.AsResult(sprintf "Field '%s' of type '%s' does not have an input named '%s' in its definition." selection.Field.Name selection.FragmentOrParentType.Name arg.Name, selection.Path))
          let directivesValid =
  