Removed the untyped pipe constructor
Using a case match to name variables in Product