Generic programming - SUCHTHAT one can build an algebraic library