Generalize NurbsSurface to arbitrary VectorSpace and associated Scalar
Use GADT-style declaration to roll type constraints into NurbsSurface constructor
Revise tests for new NurbsSurface types

name the rest of the quickCheck cases