I\'m working on a Rust implementation of a ray tracer based on a C++ codebase (PBRT, if anyone is familiar with it). One of the classes that the C++ version defines is a ser