sig
  val ( ++ ) : float * float -> float * float -> float * float
  val ( -- ) : float * float -> float * float -> float * float
  val ( *+ ) : float * float -> float * float -> float
  val ( ** ) : float -> float * float -> float * float
  val norm2 : float * float -> float
  val norm : float * float -> float
  val normalize : float * float -> float * float
  val det : float * float -> float * float -> float
end