allocator: move split_at to allocator