jshint fixes; found more problems in the spec; verified the implementation is correct and spec is wrong; added more playground cases