Проблема конкретно со string50 в том, что такой тип не отражает реальных требований предметной области. Т.е. желательно указать, какой категории данных этот тип соответствует: адресу, номеру телефона, фамилии ит.п. В этом случае у меня лично никаких проблем с этим типом не было бы и я активно (и с успехом) использую в наших проектах типы UncPath и UserName, более того, под такие типы прекрасно писать property-based тесты, которые сгенерят реальный IP-adress или осмысленный UserName, а не набор бессмысленных символов.