1. Add references and start citing them. 2. Profile (and fix?) any remaining slow operations. 3. When we take a Cartesian product involving a trivial algebra, we could easily cache the identity and charpoly coefficients using the nontrivial factor. On the other hand, it's nice that we can test out some alternate code paths... 4. Add dimension bounds on any tests over AA that compute element subalgebras. 5. The rational_algebra() stuff doesn't really belong in classes that don't derive from RationalBasisEJA or its as-yet-nonexistent element class. 6. Add special det/trace method overrides for the algebras where we know them? The only reason this might be tricky is because the obvious solution is to subclass EJAElement, but then we might collide with e.g. the Cartesian product element subclass.