Poorly executed migrations often create "transliterated" code — syntactically valid ... cannot be separated in practice. Take a Java example: to resolve a.b.c, we need to know the type of a.b. To ...