anchor.diff:          )
           this.Birthday.InputView <- pickerDate
           this.Birthday.InputAccessoryView <- accessoryBirthday.View
  +        this.Birthday.EditingDidBegin.Add(fun _ ->
  +            if String.IsNullOrEmpty(this.Birthday.Text.Trim()) = false then
  +                pickerDate.Date <- NSDate.op_Implicit (DateTime.ParseExact(this.Birthday.Text, "M/d/yyyy", CultureInfo.CurrentCulture))
  +        )
   
           // Country Picker
           this.Country.InputView <- pickerCountry.View
           this.Country.InputAccessoryView <- accessoryCountry.View
  -        pickerCountry.Picker.Source <- { 
  -            new UIPickerViewModel() with
  -            override this.GetRowsInComponent(pickerView, comp) = countries.Length
  -            override this.GetComponentCount(pickerView) = 1
  -            override this.GetTitle(pickerView, row, comp) = countries.[row].Name
  -            override this.Selected(pickerView, row, comp) =
  -                country <- Some countries.[row]
  -                controller.Country.Text <- country.Value.Name
  -        }
  +        pickerCountry.Picker.Source <- sourceCountry
           this.Country.EditingDidBegin.Add(fun _ ->
               Async.startNetworkWithContinuation
                   (Settings.countries ())
                   (function
  -                    | Api.ApiOk result -> 
  -                        countries <- result
  +                    | Api.ApiOk c -> 
  +                        countries <- c
                           regions <- [||]
                           pickerCountry.Progress.StopAnimating()
                           pickerCountry.Picker.ReloadAllComponents()
  +                        match country with
  +                        | Some country -> pickerCountry.Picker.Select(countries |> Array.findIndex (fun c -> c.Id = country.Id), 0, false)
  +                        | _ -> ()
                       | error ->
                           pickerCountry.Progress.StopAnimating()
                           this.HandleApiFailure error
  
positive.code:                 Async.startNetworkWithContinuation
                      (Settings.regions country.Id)
                      (function
                          | Api.ApiOk rs -> 
                              regions <- rs
                              pickerRegion.Progress.StopAnimating()
                              pickerRegion.Picker.ReloadAllComponents()
                          | error ->
                              pickerRegion.Progress.StopAnimating()
                              this.HandleApiFailure error
  
negative.code: 
          this.SaveButton.TouchUpInside.Add(fun _ ->
              Async.startNetworkWithContinuation
                  (Settings.updateProfile
                      (this.Username.Text.Trim())
                      (match this.GenderSelect.SelectedSegment with | 0 -> GenderType.Male | 1 -> GenderType.Female | _ -> GenderType.Undefined)
                      (DateTime.ParseExact(this.Birthday.Text, "M/d/yyyy", CultureInfo.CurrentCulture))
                      (match country with | Some country -> country.Id | None _ -> String.Empty)
                      (match region with | Some region -> region.Name | None _ -> String.Empty)
                      (this.City.Text.Trim())
                      (this.About.Text.Trim())
                      )
                  (function
                      | Api.ApiOk i -> 
                          Api.userIdentity <- Some i
                          if identity.Membership = MembershipTypePublic.Pending then
                              Navigation.navigate "/home" None
                          else
                              this.View.EndEditing true |> ignore
                              this.View.MakeToast("Saved", 2.0, "bottom")
  
                      | error -> this.HandleApiFailure error
                  )
          )
  
          Async.startNetworkWithContinuation
              (async {
                  let! result = Settings.profile ()
                  match result with
                  | Api.ApiOk profile -> 
                      let! countries = Settings.countries ()
                      let! regions = Settings.regions profile.CountryId
                      return result, countries, regions
                  | _ -> 
                      return result, Api.ApiResult.Exception (Exception "No profile loaded"), Api.ApiResult.Exception (Exception "No profile loaded")
              })
              (function
                  | Api.ApiOk profile, Api.ApiOk c, Api.ApiOk r ->
                      countries <- c
                      regions <- r
                      this.Username.Text <- identity.Name
                      this.GenderSelect.SelectedSegment <-
                          match profile.Gender with
                          | GenderType.Female -> 1
                          | _ -> 0
  
                      this.Birthday.Text <- profile.Birthday.ToString("M/d/yyyy")
  
                      match countries |> Array.filter (fun e -> e.Id = profile.CountryId) with
                      | [| c |] ->
                          country <- Some c 
                          this.Country.Text <- c.Name                       
                      |  _ -> ()
  
                      match regions |> Array.filter (fun e -> e.Id = profile.RegionId) with
                      | [| r |] ->
                          region <- Some r 
                          this.Region.Text <- r.Name                       
                      |  _ -> ()
  
                      this.City.Text <- profile.CityName
                      this.About.Text <- profile.Bio
  
                  | _ -> ()
              )
  
      override this.GetHeightForRow (tableView, indexPath) =
          match indexPath.Section, indexPath.Row with
  