Implement Sequence::skip()
Make first() return an Optional<T>
This way, we can distinguish finding null or not finding anything