[flagged]
Java's implementation of generics isn't great, but there are some professional coders out there who were born after generics and annotations were added, so it's probably time to let that one go.
Yep. Why class when record does job? Why polymorphic dispatch when pattern-matching does job?