Mostly to deal with alloc.col shallow copies, but also nice to have a bit more abstraction.