anchor.diff:                  InferedType.Record(name, props, optional = false)
               
   
  -    and inferProperties (ctx: Ctx) cty =
  +    and inferProperties (ctx: InferenceContext) cty =
           let attrs: InferedProperty list = 
               cty.Attributes
               |> List.map (fun (name, typeCode, optional) ->
  
positive.code:     let nil = { InferedProperty.Name = "{http://www.w3.org/2001/XMLSchema-instance}nil"
                  Type = InferedType.Primitive(typeof<bool>, None, true) }
  
      type Ctx = System.Collections.Generic.Dictionary<XsdComplexType, InferedProperty>
  
      // derives an InferedType for an element definition
      let rec inferElementType (ctx: Ctx) (elm: XsdElement) =
          let name = getElementName elm
          if elm.IsAbstract 
          then InferedType.Record(name, [], optional = false)
  
negative.code:             | x -> failwithf "unknown ElementSchemaType: %A" x
          result 
  
      and parseComplexType ctx (x: XmlSchemaComplexType) =  
          { Attributes = 
              x.AttributeUses.Values 
              |> ofType<XmlSchemaAttribute>
  