apply5<B, C, D, E, F, G>( ob: Supplier< Optional<B> >, oc: Supplier< Optional<C> >, od: Supplier< Optional<D> >, oe: Supplier< Optional<E> >, of: Supplier< Optional<F> >, f: ( a: A, b: B, c: C, d: D, e: E, f: F ) => G ): Optional<G> {
        return this.flatMap( a => ob().flatMap( b => oc().flatMap( c => od().flatMap( d => oe().flatMap( e => of().map( ff => f( a, b, c, d, e, ff ) ) ) ) ) ) );
    }