Allocation by Abstraction