fn log_numeric<F>(
    a: Numeric,
    logic: F,
    name: &'static str
) -> Result<Numeric, EvalError>where
    F: Fn(&mut Context<Numeric>, &mut Numeric),