anchor.diff:                  (function
                    | [this] -> Expr.Coerce(<@@ (%%this : obj) @@>, node.NodeType)
                    | _ -> badargs())
  +            |> addXmlDoc (sprintf "Access to the underlying %s" name)
   
       node.Children
       |> List.iter (createNestedType nested_type)
  
positive.code:                 [("control", node.NodeType)]
                  (function
                   | [x] -> x
                   | _ -> badargs())
          |+> fun () ->
              provideProperty
                  "Control"
  
negative.code:                     (function
                       | [this] -> Expr.Coerce(this, root.NodeType)
                       | _ -> badargs())
                  |> addXmlDoc (sprintf "Access to the underlying %s" typeName)
  
      for child in root.Children do
          createNestedType top_type child
  