anchor.diff:              components.[index].Active <- false
               freeList.Add index |> ignore<bool>
           else freeIndex <- dec freeIndex
  +        
  +    override this.UnregisterComponent _ _ = false
   
       type 'w Ecs with
   
  
positive.code:             correlationsBack.Add (index, entityId)
              correlateds.Array.[index] <- comp
  
              // make component ref
              ComponentRef.make index correlateds correlatedsBuffered
  
          // component is already registered
          else failwith ("Component registered multiple times for entity '" + string entityId + "'.")
  
      member internal this.UnregisterCorrelated entityId ecs =
          match correlations.TryGetValue entityId with
          | (true, index) ->
  
              // deallocate component
              correlations.Remove entityId |> ignore<bool>
              correlationsBack.Remove index |> ignore<bool>
              Unchecked.defaultof<'c>.Disjunction index junctions entityId ecs
  
              // deallocate index for component
              if index <> freeIndex
              then freeList.Add index |> ignore<bool>
              else freeIndex <- dec freeIndex
  
              // deactive component
              correlateds.[index].Active <- false
  
              // clear free list and reset free index when there are no registered components remaining
              if  freeList.Count = correlateds.Length then
                  freeList.Clear ()
                  freeIndex <- 0
  
              // fin
              true
  
          | (false, _) -> false
  
      type 'w Ecs with
  
  
negative.code:         let componentMultiplexed = this.IndexCorrelated entityId
          componentMultiplexed.IndexBuffered.Simplexes.[simplexName]
  
      member this.RegisterMultiplexed comp simplexName entityId ecs =
  
          // register simplex
          let _ = this.RegisterCorrelated Unchecked.defaultof<_> entityId ecs
          let componentMultiplexed = this.IndexCorrelated entityId
          componentMultiplexed.Index.RegisterMultiplexed (simplexName, comp)
          
          // register correlation with ecs
          match ecs.Correlations.TryGetValue entityId with
          | (true, correlation) ->
              correlation.Add this.Name |> ignore<bool>
              ecs.CorrelationsChanged.[entityId] <- correlation
          | (false, _) ->
              ecs.Correlations.Add (entityId, HashSet.singleton StringComparer.Ordinal this.Name)
              ecs.CorrelationsChanged.[entityId] <- ecs.EmptyCorrelation
  
          // fin
          componentMultiplexed
  
      member this.UnregisterMultiplexed simplexName entityId ecs =
  
          // attempt to unregister simplex
          let unregistered =
              let componentMultiplexed = this.IndexCorrelated entityId
              componentMultiplexed.Index.UnregisterMultiplexed simplexName |> ignore<bool>
              this.UnregisterCorrelated entityId ecs
          
          // unregister correlation
          if unregistered then
              match ecs.Correlations.TryGetValue entityId with
              | (true, correlation) ->
                  correlation.Remove this.Name |> ignore<bool>
                  ecs.CorrelationsChanged.[entityId] <- correlation
              | (false, _) ->
                  ecs.CorrelationsChanged.[entityId] <- ecs.EmptyCorrelation
  
          // fin
          unregistered
  
      type 'w Ecs with
  
  