anchor.diff:      ///An instance of the compiler configured with the input configuration object
       ///</returns>
       ///
  -    new(conf: PipelineConfiguration, entryCreator) as this =
  +    new (conf: PipelineConfiguration, entryCreator) as this =
           { inherit Pipeline(Compiler.DefaultConfigurationRoot, Compiler.DefaultConfigurationComponentsFolder, Compiler.defComponentsAssemply, conf)
             cache = null
             cacheEntryCreator = entryCreator
           }
           then
  -            this.cache <- new KernelCache(this.IsInvariantToMetaCollection, entryCreator)
  -    new(conf: PipelineConfiguration) =
  -        new Compiler(conf, fun m -> new KernelCacheEntry(m))
  +            this.cache <- KernelCache(this.IsInvariantToMetaCollection, entryCreator)
  +    new (conf: PipelineConfiguration) =
  +        Compiler(conf, fun m -> KernelCacheEntry m)
           
       member this.Compile(input, 
                           opts:Map<string,obj>) =                        
  -        this.Run((box input, this.cache), opts)
  +        this.Run ((box input, this.cache), opts)
                   
  -    member this.Compile(input) =
  -        this.Compile(input, Map.empty)
  +    member this.Compile input =
  +        this.Compile (input, Map.empty)
  +
  +    member this.Compile<'T> input =
  +        this.Compile (input, Map.empty) :?> 'T
   
       member this.CacheEntryCreator 
           with get() =
  
positive.code:     static member DefaultConfigurationComponentsRoot = Path.Combine(Compiler.DefaultConfigurationRoot, Compiler.DefaultConfigurationComponentsFolder)
  
      static member private defComponentsAssemply = 
          [| typeof<FunctionPreprocessingStep>; 
             typeof<FunctionTransformationStep>; 
             typeof<FunctionCodegenStep>; 
             typeof<ModuleParsingStep>; 
             typeof<ModulePreprocessingStep>; 
             typeof<ModuleCodegenStep>;
             typeof<FunctionPostprocessingStep>;
             typeof<AcceleratedArrayParser>;
             typeof<DefaultTypeHandler> |]
      
      val mutable cache: KernelCache 
  
negative.code:     ///In addition of the 0 or more components found, the native components are always loaded (if no configuration file is found in the first step)
      ///</remarks>
      ///
      new (entryCreator: IKernelModule -> KernelCacheEntry) as this = 
          { inherit Pipeline (Compiler.DefaultConfigurationRoot, Compiler.DefaultConfigurationComponentsFolder, Compiler.defComponentsAssemply)
            cache = null
            cacheEntryCreator = entryCreator
          }
          then
              this.cache <- KernelCache(this.IsInvariantToMetaCollection, entryCreator)
      new () = 
          Compiler (fun m -> KernelCacheEntry m)
  
      ///
      ///<summary>
      ///The constructor to instantiate a compiler with a file-based configuration
  