They were originally intended as a means to make the library more flexible and independent of the underlying memory model, allowing programmers to utilize custom pointer and reference types with the library.
Початково вони замислювались як спосіб зробити бібліотеку більш гнучкою і незалежною від підлеглої моделі пам'яті, дозволяли програмісту використовувати користувацькі типи вказівників та посилань з бібліотекою.