Maybe I am missing the short cut:
ChainOf thought, where n=4, returns a Prediction, which has a single rationale, a single answer, and a Completions object. The completions object has an array of 3 strings for the rationale and an array of 3 strings for the answer.
The MultiChainComparison however takes an array of Predictions.
Wouldn't it be more natural for MultiChainComparison to accept the output Predictions object or the Completions object rather than forcing the caller to reformat ChainOfThought's output to comply with MultiChainComparison's input?
Also, if n=4, shouldn't there be 4 completions not 3?