Multi-Paradigm Design for C++