If we're expecting to sometimes return nothing, and that's not an exceptional case, then return `Optional<LocalDate>` so consumers know that they should expect no value in some cases. If, of course, it's exceptional to fail to extract a date, then throw an exception and let the consumer decide how to handle it.