Which interface ?
- Domains (one object owns building, computation, serialization methods on its elements)
- Rings, fields
- Structures (vectors, matrices, polynomials ...)
- Elements (C++ type as representation. No public methods by default)
mathematical abstractions and objects [Aldor]