Why Java's Records Are Better* Than Lombok's @Data and Kotlin's Data Classes