* Tightened up the spec by using Structs in place of modified Procs.