Complete typchecker