anchor.diff:          | _ -> false
   
   let propertySet = 
  -    if exchangeVersion <> ExchangeVersion.Exchange2007_SP1 then
  -        let result = PropertySet( Array.append Properties [|  |] )
  -        result.RequestedBodyType <- Nullable(BodyType.Text)
  -        result
  -    else
  -        let result = PropertySet( Properties )
  -        result.RequestedBodyType <- Nullable(BodyType.Text)
  -        result
  +    let result = PropertySet( BasePropertySet.FirstClassProperties )
  +    result.AddRange( [| ContactSchema.EmailAddress1; ContactSchema.EmailAddress2; ContactSchema.EmailAddress3;
  +        ContactSchema.HomePhone;
  +        ContactSchema.MobilePhone;
  +        ContactSchema.BusinessPhone;
  +        ContactSchema.HomeAddressCountryOrRegion;
  +        ContactSchema.HomeAddressPostalCode;
  +        ContactSchema.HomeAddressState;
  +        ContactSchema.HomeAddressStreet;
  +        ContactSchema.OtherAddressCity;
  +        ContactSchema.OtherAddressPostalCode;
  +        ContactSchema.OtherAddressCountryOrRegion;
  +        ContactSchema.OtherAddressState;
  +        ContactSchema.OtherAddressStreet;
  +        ContactSchema.BusinessAddressCity;
  +        ContactSchema.BusinessAddressCountryOrRegion;
  +        ContactSchema.BusinessAddressState;
  +        ContactSchema.BusinessAddressStreet;
  +        ContactSchema.BusinessAddressPostalCode;
  +    |] )
  +    result
   
   let timezone( debugLog : bool ) =
       let _TIMEZONEInSettings = ConfigurationManager.AppSettings.["ExchangeTimeZone"]
  
positive.code: 
  let deleteAll(login : Login) =
      let _service = connect(login)
      let folder = Folder.Bind(_service, WellKnownFolderName.Calendar)
      let view = new ItemView(1000)
      view.Offset <- 0
      let mutable search = true
  
negative.code:     logger.Debug( "Login successfully finished" )
      _service
  
  let getEmail( r : Contact, key : EmailAddressKey ) =     
      let mutable oldEmailAddress : EmailAddress = null
      if r.EmailAddresses.TryGetValue(key, &oldEmailAddress ) then
          oldEmailAddress.Address
      else
          null
  
  let setEmail( r : Contact, emailAddress : string, key : EmailAddressKey ) =     
      let mutable oldEmailAddress : EmailAddress = null
      if r.EmailAddresses.TryGetValue(key, &oldEmailAddress ) then
          r.EmailAddresses.[key] <- null
      if not ( String.IsNullOrWhiteSpace(emailAddress) ) then
          r.EmailAddresses.[key] <- EmailAddress(emailAddress)
  
  let getPhone( r : Contact, key : PhoneNumberKey ) =     
      let mutable oldNumber : string = null
      if r.PhoneNumbers.TryGetValue(key, &oldNumber ) then
          oldNumber
      else
          null
  
  let setPhone( r : Contact, number : string, key : PhoneNumberKey ) =     
      let mutable oldNumber : string = null
      if r.PhoneNumbers.TryGetValue(key, &oldNumber ) then
          r.PhoneNumbers.[key] <- null
      if not ( String.IsNullOrWhiteSpace(number) ) then
          r.PhoneNumbers.[key] <- number
  
  
  