Returns the option if it contains a value, otherwise returns other
other
Option<T> or(Option<T> other) { if (isSome()) { return this; } return other; }