Minor code improvements

I didn't yet come around to watching the screencast, but the code does look awesome. This pull request tweaks the final code a bit:

* remove some data types/constructors (are those leftovers from hole-driven style?)
* add some kind constraints
* use `List.nub`