it validates the type hasn't changed