generated at
smart constructor
その型の値を作る関数
つまりconstructor
完全Constructor的な役割を果たす

「正しい仕様」を型で表現するのが困難な場合に用いると良い
constructorがvalidationの役割を果たし、誤った状態にさせない
prefixは mk にするのが一般的なのかなmrsekut

mkHoge :: <newtypeの中身の型> → Maybe <newtype> のような型になる


運用の例



この続きに例がめちゃくちゃ出てくる