 //
 // On success the next state is returned.  On failure the final result and state
 // are returned.
-private func runATest(_ st : CheckerState, caseGen : (StdGen, Int) -> Prop) -> Either<(Result, CheckerState), CheckerState> {
+private func runATest(_ st : CheckerState, caseGen : (StdGen, Int) -> Prop) -> Either<(QuickCheckResult, CheckerState), CheckerState> {
 	let size = st.computeSize(st.successfulTestCount, st.discardedTestCount)
 	let (rnd1, rnd2) = st.randomSeedGenerator.split
 


				/// However, some existentials outlive their usefulness
				if nstate.discardedTestCount >= nstate.maxAllowableDiscardedTests {
					let resul = Result.existentialFailure(
						numTests:    (st.successfulTestCount + 1),
						usedSeed:    st.randomSeedGenerator,
						usedSize:    st.computeSize(st.successfulTestCount, st.discardedTestCount),

	}
}

private func doneTesting(_ st : CheckerState) -> QuickCheckResult {
	if !st.hasFulfilledExpectedFailure {
		if insufficientCoverage(st) {
			printCond(st.silence, "+++ OK, failed as expected. ")
