explain recursion on product types better, fix #311
Merge pull request #321 from mikeshulman/products

explain recursion on product types better, fix #311