extract type checker
rename