Best Practice: Pack-unpack pattern
http://technet.navision.com/usered/BPH/Dev.../PackUnpack.htm
Паттерн применяется для того, чтобы упаковать в один объект несколько небольших переменных. Контейнер передается между клиентом и AOS.
По соглашению, первый элемент контейнера - номер версии алгоритма упаковки-распаковки. Далее идут переменные, которые обрабатываются unpack'ом.
Насколько я понимаю, классы list, set, array хранят что-то свое в дополнительных параметрах. Что конкретно - не знаю.
А зачем? Если хочется сделать свой класс, то надо унаследовать от стандартного. Затем в pack|unpack вызывать super. А в своем классе заниматься только спецификой.