Я недавно в одном проекте на C# позаменял все string id на специализированные readonly struct MyCustomId { string Id } и тоже писать стало легче. Сам не понял, где ошибся - а компилятор видит
типы можно в любом языке использовать, главное знать как это делается (многие не знают, думают что знают, а на самом деле не знают)