Fixes #2 and adds some additional ScalaCheck tests