timalIndexMatrixOfOneState::
  (Vec.Storage varVec Int, Arith.Constant Int,
   Vec.Storage varVec (Maybe (Result Int))) =>
  (Vec.Walker varVec, Vec.Storage varVec a, Arith.Constant a,
   Ord a, Vec.Storage varVec (Maybe (Result a)), Vec.FromList varVec) =>
  Type.OptimalSolutionOfOneState node a ->
  Sig.PSignal2 Vector varVec Int
optimalIndexMatrixOfOneState = optimalMatrixOfOneState ModUt.thd4


optimalIndexMatrixOfOneState::
  (Vec.Storage varVec Int, Arith.Constant Int,
   Vec.Storage varVec (Maybe (Result Int))) =>
  (Vec.Walker varVec, Vec.Storage varVec a, Arith.Constant a,
   Ord a, Vec.Storage varVec (Maybe (Result a)), Vec.FromList varVec) =>
  Type.OptimalSolutionOfOneState node a ->
  Sig.PSignal2 Vector varVec Int
optimalIndexMatrixOfOneState = optimalMatrixOfOneState ModUt.thd4
optimalIndexMatrixOfOneState = optimalMatrixOfOneState ModUt.thd4