While there's nothing per se that currently blocks batching operations, it would be much easier to do batching with a container type that holds a variant of all 2D graphics operations (thus allowing users to build and modify a series of 2D graphics operations) and a class type that is an immutable set of 2D graphics operations (which can be more easily optimized into a command list by back ends that take advantage of hardware acceleration using current graphics acceleration technology).
While there's nothing per se that currently blocks batching operations, it would be much easier to do batching with a container type that holds a variant of all 2D graphics operations (thus allowing users to build and modify a series of 2D graphics operations) and a class type that is an immutable set of 2D graphics operations (which can be more easily optimized into a command list by back ends that take advantage of hardware acceleration using current graphics acceleration technology).