Types to enable polymorphic carts.
A cart that can be one type or the other. Enables ergonomic polymorphic carts.