anchor.diff:          -..- +.value
           -%> fun name value ->
               { ArgumentName = name; ArgumentValue = value }
  -    %% '(' -..- +.(qty.[1..] /. ignored * argument) -- ')'
  +    %% '(' -..- +.(qty.[1..] /. ignored * withSource argument) -- ')'
       -%> auto
   
   type Directive =
       {
           DirectiveName : string
  -        Arguments : Argument ResizeArray
  +        Arguments : Argument ListWithSource
       }
   
   let directives =
  
positive.code:     {
          Alias : string option
          FieldName : string
          Arguments : Argument ResizeArray
          Directives : Directive ResizeArray
          Selections : Selection ResizeArray
      }
  and Selection =
      | FieldSelection of Field
  
negative.code: *)
  
  let objectValue (value : Parser<Value, _>) =
      let sourceValue = withSource value
      let objectField =
          %% +.name
          -..- ':'
          -..- +.sourceValue
          -%> auto
      %% '{'
      -..- +.(qty.[0..] /. ignored * objectField)
  