anchor.diff: +/// Real World Functional Programming, T. Petricek, J. Skeet
  +/// 13.3 "Exploring and obtaining the data"
  +
  +/// updates on the World Bank data API
  +/// some minor error corrections
  +
   open System.Web
   open System.IO
   open System.Net
  
positive.code: 
  let c = pages |> XDocument.Parse |> xnested ["countries";"country"] 
  
  c |> xelem "region" |> xvalue
  
  c |> xelem "incomeLevel" |> xattr "id"
  
  c |> xelem "region" |> xattr "id"
  
  /// System.NullReferenceException, if attribute not exists
  /// c |> xelem "iso2Code" |> xattr "id"
negative.code:     use response = response
      let stream = response.GetResponseStream ()
      use reader = new StreamReader (stream)
      return!  reader.AsyncReadToEnd() (* method extension via FSharp.PowerPack *) }
  
  let worldBankUrl (functions, props) =
      seq { yield "http://api.worldbank.org"
  