improved Watcher.checkType method