add is.has helper
better test error messages
slimmer yet more thorough object tests