code: @Override
      public <I> Choice8<A, B, C, D, E, F, G, I> flatMap(
              Function<? super H, ? extends Monad<I, Choice8<A, B, C, D, E, F, G, ?>>> fn) {
          return match(Choice8::a, Choice8::b, Choice8::c, Choice8::d, Choice8::e, Choice8::f, Choice8::g, h -> fn.apply(h).coerce());
      }
docs: {@inheritDoc}