Additional methods on Optional and Iterables