fail less silently in prod()

This raises an exception so that prod() now behaves more like sum() for input that it doesn't understand (e.g. list of python integers).