anchor.diff:          | None -> ()
   
       /// Attempt to read a target's .NET property from field descriptors.
  -    let tryReadPropertyToTarget (property : PropertyInfo) fieldDescriptors (target : obj) =
  +    let tryReadPropertyToTarget fieldDescriptors (property : PropertyInfo) (target : obj) =
           match Map.tryFind property.Name fieldDescriptors with
  -        | Some fieldSymbol ->
  +        | Some (fieldSymbol : Symbol) ->
               let converter = SymbolicConverter property.PropertyType
               if converter.CanConvertFrom typeof<Symbol> then
                   let fieldValue = converter.ConvertFrom fieldSymbol
  
positive.code:             | _ -> ()
  
      /// Attach source's fields to a target.
      let attachFields source (target : obj) =
          let sourceType = source.GetType ()
          let fieldDefinitions = getFieldDefinitions sourceType
          attachFieldsViaDefinitions fieldDefinitions target
  
      /// Detach source's fields to a target.
      let detachFields source (target : obj) =
          let sourceType = source.GetType ()
          let fieldNames = getFieldDefinitionNames sourceType
          detachFieldsViaNames fieldNames target
  
negative.code:             (fun (property : PropertyInfo) -> property.Name = fieldDefinition.FieldName)
              (targetType.GetProperties ()) then
              match Map.tryFind fieldDefinition.FieldName fieldDescriptors with
              | Some (fieldSymbol : Symbol) ->
                  let converter = SymbolicConverter fieldDefinition.FieldType
                  if converter.CanConvertFrom typeof<Symbol> then
                      let xField = { FieldValue = converter.ConvertFrom fieldSymbol; FieldType = fieldDefinition.FieldType }
  