anchor.diff:                          Mod.constant Box3d.Unit
               )
   
  +        static let rec hook (task : AbstractRenderTask) (o : IRenderObject) =
  +            match o with
  +                | :? RenderObject as o -> task.HookRenderObject(o) :> IRenderObject
  +                | :? MultiRenderObject as o -> o.Children |> List.map (hook task) |> MultiRenderObject :> IRenderObject
  +                | o -> o
   
           member x.Uniforms =
               let rec get (o : IRenderObject) =
  
positive.code: 
      let compiler =
          {
              RuntimeCommands.Compiler.resources       = resources
              RuntimeCommands.Compiler.manager         = manager
              RuntimeCommands.Compiler.renderPass      = renderPass
  
negative.code: 
          override x.Compile(_, stream) =
              // never gets re-executed so the stream does not need to be cleared
              
              let o = compiler.manager.PrepareRenderObject(compiler.renderPass, hook compiler.task o)
              for o in o.Children do
                  for r in o.resources do compiler.resources.Add r        
  
  