pub trait TimeValue {
// Required methods
fn present_value_regular(self) -> Result<f64, TimeValueError>;
fn future_value_regular(self) -> Result<f64, TimeValueError>;
fn present_value_due(self) -> Result<f64, TimeValueError>;
fn future_value_due(self) -> Result<f64, TimeValueError>;
}