Added value type traits for value object assertions and readded hashcode check