anchor.diff:      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>
  +    type InferenceContext = System.Collections.Generic.Dictionary<XsdComplexType, InferedProperty>
   
       // derives an InferedType for an element definition
  -    let rec inferElementType (ctx: Ctx) (elm: XsdElement) =
  +    let rec inferElementType ctx elm =
           let name = getElementName elm
           if elm.IsAbstract 
           then InferedType.Record(name, [], optional = false)
  
positive.code:                 InferedType.Record(name, props, optional = false)
              
  
      and inferProperties (ctx: Ctx) cty =
          let attrs: InferedProperty list = 
              cty.Attributes
              |> List.map (fun (name, typeCode, optional) ->
  
negative.code:             | :? XmlSchemaSequence -> Sequence (occurs, particles)
              | _ -> failwithf "unknown group base: %A" group
  
          match par with
          | :? XmlSchemaAny -> Any occurs
          | :? XmlSchemaGroupBase as grp -> parseParticles grp
          | :? XmlSchemaGroupRef as grpRef -> parseParticle ctx grpRef.Particle
          | :? XmlSchemaElement as elm -> 
              let e = if elm.RefName.IsEmpty then elm else ctx.GetElement elm.RefName
              Element (occurs, parseElement ctx e)
          | _ -> Empty // XmlSchemaParticle.EmptyParticle
  
  
      let getElements schema =
          let ctx = ParsingContext schema
  