anchor.diff:    let saveValue key value =
       redis().SetValue(key, toJson value)
   
  -  let checkCacheAndReact keyFunction valueFunction n =
  +  let checkCacheAndReact keyFunction deserialiser valueFunction n =
       let r = redis()
       let key = keyFunction n
  -
  -    let getValue key = r.GetValue(key) |> fromJson
  -    let getSimulationResults() = getValue (monoKey n)
   
       let deleteMonoKey =
         (if r.ContainsKey(otherKey key n)
  
positive.code:     if r.ContainsKey(key)
      then
        LogLine.info ("Cache hit for " + key) |> logger.Log
        getValue key
      else
        LogLine.info ("Cache miss for " + key) |> logger.Log
        let value = valueFunction (getSimulationResults())
        cache value
        value
  
  module Monodeck =
    open ApiHelpers
  
negative.code: 
    type AverageLands = { averages: float list }
    let averageLands n =
      let averages = averagesCheckCacheAndReact n
      { averages = averages }
  
    type Distributions = { distributions: (int * float) list list }
    let landDistributions n =
      let distributions = distributionsCheckCacheAndReact n
      { distributions =  distributions }
  
    let endpoints =
  