- (id) mutableContainersCopy

Performs a deep copy of the object, but only container classes will be copied as mutable. For example: an OBSet containing OBArray objects containing OBString will become OBMutableSet conntaining OBMutableArray but the OBString will NOT become OBMutableString

- (id) mutableDeepCopy

Performs a deep copy of the object - meaning all objects contained within an array or dictionary will also be mutable copies of the original objects (if they respond to mutableCopy or mutableDeepCopy, otherwise they'll be immutable copies)