List of intended memory-management policies:
- singlethread (avoid atomic operations - is this actually ever worth it?)
- unless_singleton - allow dereferencing the special object at the head of a linked list
- mostlyonethread (has an owner, others have to pay a toll to access)
- variant<policy1, policy2> e.g. "maybe shared, maybe borrowed"