anchor.diff:  open System.Collections.Concurrent
   open Aardvark.Base
   
  -type Context = Map<Symbol,IMod>
  +type ModContext = Map<Symbol,IMod>
   
   type InstancedMod<'a> =
  -    abstract Instantiate : Context -> IMod<'a>
  +    abstract Instantiate : ModContext -> IMod<'a>
   
   
   type Hole<'a>(name : Symbol) =
  
positive.code:     let map2 (f : 'a -> 'b -> 'c) (a : InstancedMod<'a>) (b: InstancedMod<'b>) =
          LazyInstancedMod(fun ctx -> Mod.map2 f (a.Instantiate ctx) (b.Instantiate ctx)) :> InstancedMod<_>
  
      let custom (f : Context -> IMod<'a> -> 'a) :  InstancedMod<'a> =
          LazyInstancedMod (fun ctx -> Mod.custom (f ctx)) :> InstancedMod<_>
  
      let ofMod (m : IMod<'a>) : InstancedMod<'a> =
  
negative.code:     interface InstancedMod<'a> with
          member x.Instantiate ctx = x.Instantiate ctx
  
  type LazyInstancedMod<'a>(f : ModContext -> IMod<'a>) =
      member x.Instantiate ctx =
          f ctx
      interface InstancedMod<'a> with
  