// The point types of the library.
//
// An explicit point is given by its coordinates. A point of type Lnc lies
// on the segment between the explicit points p and q: it is q for t = 0 and
// p for t = 1.
point Explicit(p: F64x3) = p;
point Lnc(p: F64x3, q: F64x3, t: f64) = q + t*(p - q)
where 0 <= t, t <= 1;