The linked documentation in the first paragraph is confusing. It sets things in `context`, then calls `supertramp()`, which doesn't even use `context.user_index` or `my_custom_allocator()` specifically, which is not defined in the example?
Are we to assume that `new()` somehow makes use of `context.allocator` and `context.user_index`? It goes on to explain that new(x) is also `new(x, context.allocator)`, but never explains the relevance of `context.user_index`
No wonder people "misunderstand"