Given this aims to be a general purpose math library for use in various
other libraries applications for axiodl, we can annotate functions that
return by value or reference with [[nodiscard]] where it's very obvious
that not making use of the return value is a bug.
This allows the compiler to diagnose and emit warnings for these API
misuses at compile-time, preventing silent bugs from occurring.
Any cases where not using the return value is desirable may still be
casted to void in order to silence warnings.
Nothing uses the v data array, so we can remove it entirely. This
removes the use of a compiler extension (anonymous struct), and
simplifies the underlying data within the vector.