anchor.diff:                          s.Name(processedMove dayOfWeek)
                            .Index(Nest.FieldIndexOption.NotAnalyzed)))))
   
  -    let private createMoveResultsIndex (client:ElasticClient) =
  -        let result =
  -            <@ System.Func<_, _>(fun n -> box n.Result) @>
  +    let indexMoves (client:ElasticClient) report =
  +        let create success =
  +            let taken = success.TimeTaken
  +            {MoveRequest = success; Year = taken.Year; Month = taken.Month; Day = taken.Day; Hour = taken.Hour; DayOfWeek = Enum.GetName(taken.DayOfWeek.GetType(), taken.DayOfWeek)}
   
  -        client.CreateIndex(moveResultsIndexName, fun i ->
  -                i.AddMapping(fun m ->
  -                    m.Type<MoveResult>()
  -                        .Properties(fun p ->
  -                            p.String(fun s ->
  -                                s.Name(moveResult result)
  -                                 .Index(Nest.FieldIndexOption.NotAnalyzed)))))
  +        report.Successes
  +        |> List.map(fun success -> client.Index(create success, fun idx -> idx.Index(processedMovesIndexName)))
  +        |> ignore
  +
  +
  +module ElasticReporter =
  +
  +    open ProcessedMovesIndex
  +    open MoveResultsIndex
  +    open Rop
   
       let private reportToElastic' elasticUri report =
           let node = new Uri(elasticUri.ToString())
  
positive.code:         createProcessedMovesIndex client |> ignore
  
          let indexCases cases =
              cases
              |> List.map(fun i -> {Result = i.GetType().Name; Date = date})
              |> List.map(fun case -> client.Index(case, fun idx -> idx.Index(moveResultsIndexName)))
              |> ignore
  
          let indexMoves report =
              let create success =
                  let taken = success.TimeTaken
                  {MoveRequest = success; Year = taken.Year; Month = taken.Month; Day = taken.Day; Hour = taken.Hour; DayOfWeek = Enum.GetName(taken.DayOfWeek.GetType(), taken.DayOfWeek)}
  
              report.Successes
              |> List.map(fun success -> client.Index(create success, fun idx -> idx.Index(processedMovesIndexName)))
              |> ignore
  
  
          indexCases report.Skips
          indexCases report.Successes
          indexCases report.Failures
  
          indexMoves report
          ()
  
      let reportToElastic (elasticUri:Uri option) (report:Report) =
  
negative.code:             |> LeafExpressionConverter.QuotationToLambdaExpression
              |> unbox<Expression<Func<ProcessedMove, obj>>>
  
  
      let createProcessedMovesIndex (client:ElasticClient) =
          let moveRequestDestination =
              <@ System.Func<_, _>(fun n -> box n.MoveRequest.Destination) @>
  
  