why not using `instanceof` ?