two GraphQL names normalising to same Kotlin candidate produce deterministic collision resolution