 return D(qb);
            })((function (qb) {
                var rb;
                var sb = (function (tb) {
                    if (tb.MoveNext()) {
                        return { Tag: 1.000000, Value: (new Z(ob(tb.get_Current()), tb)) };
                    }
                    else {
                        return { Tag: 0.000000 };
                    };
                });
                rb = (function (tb) {
                    return T(sb, tb);
                });
                return rb(G(