value()method creates a new copy every time you call it. Instead use Observable value, which is shared with all the observers.
value()method directly in an Angular template, otherwise on every change detection there will be a new copy. Instead use the Units with
dispatchmethod, you can mutate the value provided to the value-producer function, because it's a copy. And if you don't intend to use the current value to create a new value, just pass the new value directly so that the Unit doesn't waste a copy.
findwhich uses a predicate method to loop over stored items, if you can ensure that you won't mutate the value, you can invoke these methods on raw value instead, without creating a copy by using
ListUnit.rawValue().find(item => item.name.startsWith('A'))
number, etc. are supported by default, along with
objectthat can be cloned by ActiveJS, and hence can be guaranteed to be immutable.