anchor.diff:          match arrayObjss.TryGetValue componentName with
           | (true, arrayObjs) ->
               match arrayObjs with
  -            | UnbufferedArrayObjs unbuffered -> unbuffered |> Seq.cast<'c ArrayRef> |> Seq.toArray |> fn
  -            | BufferedArrayObjs buffered ->
  +            | ArrayObjs unbuffered -> unbuffered |> Seq.cast<'c ArrayRef> |> Seq.toArray |> fn
  +            | ArrayObjsBuffered buffered ->
                   lock arrayObjs $ fun () ->
  -                    let readOnlyArefs = buffered.ReadOnlyArrayObjs |> Seq.cast<'c ArrayRef> |> Seq.toArray
  -                    fn readOnlyArefs
  +                    let arefsBuffered = buffered.ArrayObjsBuffered |> Seq.cast<'c ArrayRef> |> Seq.toArray
  +                    fn arefsBuffered
           | (false, _) -> ()
   
       type System<'w when 'w :> Freezable> with
  
positive.code: ﻿// Nu Game Engine.
  // Copyright (C) Bryan Edds, 2013-2020.
  
  namespace Nu
  
negative.code:     member this.Name with get () = name
  
  /// Buffered array objects.
  and [<NoEquality; NoComparison>] ArrayObjsBuffered =
      { ArrayObjs : obj List
        mutable ArrayObjsBuffered : obj List }
  
  /// Array objects that may or may not be buffered.
  and [<NoEquality; NoComparison>] ArrayObjs =
      | ArrayObjs of obj List
      | ArrayObjsBuffered of ArrayObjsBuffered
  
  /// Nu's custom Entity-Component-System implementation.
  /// Nu's conception of an ECS is primarily as an abstraction over user-definable storage formats.
  