anchor.diff:              select book.Name }
    
   topBooksWithNameContaining "1984" |> Seq.toList
  -(**
  -
  -## Advanced provider fatures
  +
  +(**
  +
  +## Advanced provider features
   
   The Freebase type provider has a number of features and it is beyond the scope of this 
   introduction to discuss all of them. Some of the aspects were already demonstrated and more
  
positive.code: (**
  ### Debugging MQL queries
  
  If you want to understand how Freebase type provider work, or if you want to debug a 
  performance issue, it might be useful to see the requests that the provider sends to 
  Freebase. This can be done by subscribing to the `SendingRequest` event:
  *)
  data.DataContext.SendingRequest.Add (fun e -> 
    printfn "request: %A" e.RequestUri)
  
  data.``Science and Technology``.Chemistry.
       ``Chemical Elements``.Individuals.Hydrogen.``Atomic mass``.Mass
  (**
  ## Related articles
  
  
negative.code:     |> Seq.truncate 100
      |> Seq.map (fun name -> name.Name)
      |> Array.ofSeq
  
  (**
  To generate realistic test case data, we now write a helper function that picks a 
  random element from the array and then concatenate a random first name with a 
  random surname:
  *)
  
  let randomElement = 
      let random = new System.Random()
      fun (arr : string[]) -> arr.[random.Next(arr.Length)]
  