Type checker.