anchor.diff:                 Assembly.GetCallingAssembly()
                  Assembly.GetExecutingAssembly()
               |]
  -            |> Array.where (fun t -> t |> Option.ofObj <> None)
  +            |> Array.where (isNull >> not)
   
           let cb = ContainerBuilder()
   
  
positive.code: open Caelan.Frameworks.Common.Helpers
  
  type UnitOfWork internal (context : DbContext, autoContext) as uow = 
      
      let mutable container =
          let assemblies =
              [| AssemblyHelper.GetWebEntryAssembly()
  
negative.code:     
      member uow.SaveChanges() = context.SaveChanges()
      member __.SaveChangesAsync() = async { return! context.SaveChangesAsync() |> Async.AwaitTask } |> Async.StartAsTask
      
      member __.RegisterRepository<'TRepository when 'TRepository :> IRepository>() = 
          if container.IsRegistered(typeof<'TRepository>) |> not then 
              let cb = ContainerBuilder()
              let assemblies =
                  let getRefAssemblies (assembly:Assembly) = assembly.GetReferencedAssemblies() |> Array.map Assembly.Load
                  let arr = 
                      [| typeof<'TRepository>.Assembly
                         AssemblyHelper.GetWebEntryAssembly()
                         Assembly.GetEntryAssembly()
                         Assembly.GetCallingAssembly()
                         Assembly.GetExecutingAssembly() |]
                      |> Array.where (isNull >> not)
  
                  arr
                  |> Array.append (arr |> Array.collect getRefAssemblies)
                  |> Array.where (isNull >> not)
  
              cb.RegisterAssemblyTypes(assemblies).Where(fun t -> t.IsAssignableTo<IRepository>()).AsSelf().AsImplementedInterfaces() |> ignore
  
  