anchor.diff:  (**
   It also makes this types **accessible from C#** or any other .NET language.
   
  +Miscellaneous
  +-------------------------------------
  +
   ### Multi-platform. 
   
  -##### Any ADO.NET supported database
  +### Any ADO.NET supported database
   SqlEnumProvider has a static parameter "Provider" which allows to pass ADO.NET provider [invariant name](http://msdn.microsoft.com/en-us/library/h508h681.aspx). This makes it usable with any ADO.NET supported database. System.Data.SqlClient  is default value for ADO.NET provider.
   
   Invariant names of available ADO.NET providers can be retrieved as follows:
  
positive.code: cmd.ExecuteScalar() |> unbox<int>
  
  (**
  But improvement is questionable because we traded one problem for another  keeping this enum type definition in sync with database changes.  
  
  ## Solution - SqlEnumProvider
  
  ### F# idiomatic enum-like type
  
  
negative.code: 
  
  (**  
  ### F# tuple-valued enums
  
  As mentioned above result set with more than 2 columns is mapped to enum with tuple as value. This makes it similar to [Java enums] (http://javarevisited.blogspot.com/2011/08/enum-in-java-example-tutorial.html).
  *)
  
  