This method and `__add__` are almost identical except for the `-kernel.array` and could probably be refactored into a single method used to implement both `__add__` and `__sub__`.  Also in both methods the `TypeError` message mentions the wrong operator: "Unsupported operand type(s) for *"