algebraic::add, etc...