List.max returns the "largest" element of a list based on some ordering... But if the list is empty you'll get a java.lang.UnsupportedOperationException: empty.max exception. I don't really like littering code with if statements or matches or whatever. I want something like headOption for max, but I'm not seeing such a method. What's the most elegant way to get the equivalent of list.maxOption?