On a general level, why do we define delete(T aggregateRoot, Class<T> domainType) (i.e. passing on the domain type) instead of determining the domain type from the aggregateRoot object? Other methods follow a similar design.
Originally posted by @mp911de in #1314 (comment)