Disambiguate numbers from array-like things in constructors.
Implement dot and abs_dot for normals.
Sketch out materials and scattering functions