simplified mustreadval implementation
readval no longer reads values beyond it's searched type