code: @Override
      public <D> Choice3<A, B, D> flatMap(Function<? super C, ? extends Monad<D, Choice3<A, B, ?>>> f) {
          return match(Choice3::a, Choice3::b, c -> f.apply(c).coerce());
      }
docs: {@inheritDoc}