Returns Option if Some, or None otherwise.
Option<T> orElse(Option<T> Function() alternative) { if (this is Some<T>) { return this; } return alternative(); }