Functional interface similar to Supplier, except the get() method is allowed to throw an arbitrary
exception.
The get() method is declared to be able to throw Exception, therefore a functional interface such as
this can be used in contexts where users may throw checked exceptions.