My rough rule of thumb: `DeveloperError` means you coded it wrong, `RuntimeError` means the data is wrong, and also sort of indicates that you as the developer should be validating the data somehow.