Hello rustyboy, first thanks for your feedback.
I think that there is a mistake in the name of the interface type. It should not be `Cart` but something else. Like `CartStorage`.
A type that implement this CartStorage interface can be named `MySQLCartStorage` or `DynamoDBCartStorage`. Each database engine responsible for the storage will have a different implementation.
The interface is here to define a contract, a set of behaviors that you should implement.
I will definitely change that