Implement a boolean sub-type for the Value class

fixes #8043