public override Unifiable[] ToArray() { if (best != null) { return(best.ToArray()); } foreach (Unifiable u in List) { return(u.ToArray()); } throw noBest(); }