Add dependency to one of rules in Makefile
Extend `where` to allow an arbitrary number of bindings

Currently `where` is limited in that one is allowed to have one binding,
eg, `let f = x where x = 1`, but not `let f = x where x = 1 and y = 2`.
This patch will extend this to allow both the former and the latter
Complicate test case to demonstrate `where`'s real capabilities