My rationale was that 1-element lists could be treated as scalars, and scalar mult should return a sparse matrix. But I will change it as suggested. 

This is actually broken though, I did not write a test case for single element lists, line 250 should be `return self.__mul__(other[0])`