Matrix <T> &makeDiagonalMatrix (int size, LinkedList <T> &values)         
{
  typeOf (T).is (int).or (int64).or (float).or (float64);
  size.lt (const::matrix::maxMatrixSize);
  values.length.isEven ();

  ...

}