@protected Option<T> flatten2() { switch (this) { case Some(value: final innerResult): return innerResult; case None(): return const None(); } }