Returns the option if it contains a value, otherwise calls f and returns the result.
Option<T> orElse(Option<T> Function() f) { if (v == null) { return f(); } else { return Some(v!); } }