You can look at Enum.max/2 for some ideas on how to tackle this (and potentially rewrite max to use this `reduce/2`).