These are primitive abstractions for insurance that will be improved upon over time. Some notable TODOs: \begin{enumerate} \item Enforce naming convention; \item Support scalar results; \item Fail on zero premium unless explicitly stated; \item Fail on negative premium (use a credit template); \item Rounding direction (currently only nearest); and \item Credit and surcharge. \end{enumerate} \todo{Template to abstract these {\tt rate-each} generation templates.} \ref{_factor_} defines a calculation that results in a factor which will later be used in a product. There are special considerations for these types of values---% generally, they should not have a value of~$0$ if some sort of calculation condition or lookup is not met, as that would have the effect of wiping out premium. If zero is desired, \tt{@allow-zero@} must be set to \tt{true} to explicitly permit it.