No conmutativo Expandir sobre la suma en Mathematica

¿Necesito escribir una función (es) que expanda completamente la multiplicación no conmutativa sobre la suma?
Por ejemplo
a ** (b + c ^ 2) se expandiría a
a ** b + a ** c ^ 2
y de manera similar desde la derecha.

Estoy usando ReemplazarRepetido (.//). Como estoy usando NonCommutativeMultiply en lugar de Times, Expandir no funciona. Estaba usando el paquete NCAlgebra que tiene NCExpand, sin embargo, ReemplazarRepetido no funciona al usar este paquete (como se indica en la documentación de NCAlgebra ... argh).

Para evitar romper ReemplazarRepetido, necesito codificar mi propio NCExpand que no va a entrar en conflicto.

Todas las ideas son bienvenidas, gracias ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta