Split compileCheckableTypeRecursive