anchor.diff:              |> addXmlDoc (sprintf "Initializes a %s instance" typeName)
               |> addDefinitionLocation root.Data.Position)
   
  -    //TODO: Lift children of unnamed nodes
  +
       //TODO: Generate nested types for each child
       //TODO: Generate properties for each child
   (*        |++> (root.Children
  
positive.code:     member this.Position =
          match this with
          | Named(pos, _) | Unnamed(pos) -> pos
  
  type XamlElementInfo =
  | XamlElementInfo of XamlId * string
  
negative.code:                 match infoOfXamlElement filename xaml with
                  | Some (XamlElementInfo(data, typeName)) ->
                      let has_children = not xaml.IsEmptyElement
                      match data with
                      | Named _ ->
                          { NodeType = typeOfXamlElement typeName ;
                            Data = data ;
                            Children =
                              (if has_children then
                                  readNewElement []
                               else
                                  []) }
                          :: siblings
                          |> readNewElement
                      | Unnamed _ ->
                          readNewElement siblings
                          |> readNewElement
                  | None -> failwithf "Error near %A" (posOfReader filename xaml)
              | XmlNodeType.EndElement ->
                  siblings
  