type alias vs opaque type
elmでは、
{ name : String , age : Int }
このような構造のデータの型を宣言する方法として、
type alias
と
Opaque type
が存在する
design guidelines
には
https://package.elm-lang.org/help/design-guidelines#keep-tags-and-record-constructors-secret