Make Option implement IEnumerable<T>, as well as custom implementations of Select and Where for performance. Also add Extension method, Flatten, which turns a sequence of Options into the values held by those options.