exercise 3.34 answer
exercise: 3.35 - working definition of squarer constraint
skipping exerise 3.36
Creating some syntatic sugar around primitive constraints.