Interesting paper on computer algebra in Java and Scala:
https://pdfs.semanticscholar.org/c006/b5853ecde7f4fd220c6e1a252ad73baa6b5b.pdf
There is a pretty sophisticated CAS written in Java:
https://github.com/kredel/java-algebra-system
Some benchmarks:
https://core.ac.uk/download/pdf/82543770.pdf
I think the discussion about NumPy/SciPy et al. versus a native statically-typed library falls into the broader discussion of scripting vs. computer algebra systems. They serve different goals, but it's possible to have essentially the same notation with operator overloading and type inference. The question is how much abstraction is too much and how much flexibility are you willing to sacrifice to get type safety? I suspect you want people to be able to extend these APIs without knowing abstract algebra and category theory.
@altavir @thomasnield @kyonifer