anchor.diff:  module MainModule =
   
       type TallyResponse = {
  -        since: int64;
  -        summary: Dictionary<string, int>;
  +        since: int64
  +        summary: Dictionary<string, int>
       }
   
       type EmailTally = {
  -        artist: string;
  -        count: int;
  +        artist: string
  +        count: int
       }
   
       type SwuRecipient = {
  -        name: string;
  -        address: string;
  +        name: string
  +        address: string
       }
   
       type SwuSender = {
  -        name: string;
  -        address: string;
  -        replyTo: string;
  +        name: string
  +        address: string
  +        replyTo: string
       }
   
       type SwuTallyTemplateData = {
  -        date: string;
  +        date: string
           tally: EmailTally seq
       }
   
  
positive.code:         return body
      }
  
      let midnight () = 
          let now = DateTime.Now
          let midnight = DateTime (now.Year, now.Month, now.Day, 0, 0, 0)
  
          midnight
  
      let midnightYesterday () = 
          let midnight = midnight ()
          let days = float -1;
  
          midnight.AddDays days
  
      let toUnixTimestamp date = DateTimeOffset(date).ToUnixTimeMilliseconds()
  
  
negative.code:                         tally = tally
                      }
              }
          let! response =
              buildMessage Http.HttpMethod.Post url (Some header) (Some message)
              |> makeRequest
          
          return response |> deserialize<SwuResponse>
      }
  
      [<EntryPoint>]
      let main argv =
          let since = midnightYesterday () |> toUnixTimestamp
          let until = midnight () |> toUnixTimestamp
          let protocol = if isLive then "https" else "http"
          let url = sprintf "%s://%s/api/v1/orders/portraits/artist-tally?since=%i&until=%i" protocol apiDomain since until
          let summaryResponse =
              buildMessage Http.HttpMethod.Get url None None
              |> makeRequest
              |> Async.RunSynchronously
              |> deserialize
  
          match summaryResponse.summary.Count with
          | 0 -> printfn "Tally response contained an empty summary. Was the `since` parameter (%i) incorrect?" since
          | _ -> summaryResponse.summary
                 |> Seq.iter (fun kvp -> printfn "%s: %i portraits" kvp.Key kvp.Value)
  
          let emailResponse =
              summaryResponse.summary
              |> convertResponseToTally
              |> sendEmailMessage
              |> Async.RunSynchronously
  
          0 // return an integer exit code
  