/// Allocator
std::allocator<void> allocator;
using Allocator = std::allocator<void>;
/// Allocator for each node after rebinding
using Node4Allocator = typename Allocator::template rebind<Node4>;
using Node16Allocator = typename Allocator::template rebind<Node16>;
using Node48Allocator = typename Allocator::template rebind<Node48>;
using Node256Allocator = typename Allocator::template rebind<Node256>;
Approach1:
Approach2: