Right now, we are only using Scipy in: - `dot`/`tensordot` - Conversion to/from `scipy.sparse.spmatrix` subclasses. Is it sensible keeping it as a hard dependency anymore?