Scala: Using custom value classes for greater abstraction and type safety | Dark Hacker News