Use df::allocate here for proper compatibility with 40d and earlier