anchor.diff:    type EmailAddress = private EmailAddress of string with
       member this.Value =
         let (EmailAddress emailAddress) = this
  -      emailAddress
  +      emailAddress  
       static member TryCreate (emailAddress : string) =
        try 
          new System.Net.Mail.MailAddress(emailAddress) |> ignore
  
positive.code: 
    type SignupEmailRequest = {
      Username : Username
      VerificationCode : VerificationCode
    }
    type SendEmailError = SendEmailError of System.Exception
    type SendSignupEmail = SignupEmailRequest -> AsyncResult<unit, SendEmailError>
  
    type UserSignupError =
    | CreateUserError of CreateUserError
    | SendEmailError of SendEmailError
  
    let mapFailure f = 
      List.head >> f >> List.singleton |> mapFailure
  
    let mapAsyncFailure f aResult =
      aResult
  
negative.code:       Email = req.EmailAddress
        VerificationCode = VerificationCode.Create()
      }
  
      let! userId = 
        createUser createUserReq
        |> mapAsyncFailure CreateUserError
  
      let sendEmailReq = {
        Username = req.Username
        VerificationCode = createUserReq.VerificationCode
        EmailAddress = createUserReq.Email
      }
      do! sendEmail sendEmailReq 
          |> mapAsyncFailure SendEmailError
  
      return userId
    }
  