simplified machinery for handling products
simplified machinery for handling exponentials
minor tidy-ups and refactorings