White型名は英大文字で始めること。Color型の値を生成する。コンストラクタの名前は、型名と同じでもいいし、違ってもいい。型名と違う名前にすることが多い。コンストラクタは英大文字で始まる必要がある。使うときには関数のように式の中で使用するが、普通の関数の名前とは違う。構造体の宣言はこのように書く。フィールド名がない書き方。Ptが構築子、二つのInt型のフィールドを取る。構築子は型名と同じにすることが多い。型が来る場所と関数が来る場所は構文上明らかなので、同名でも文脈から区別できる。後述のレコード構文でフィールドに名前を付ける。フィールド値を取り出すのは、こんな感じ。上の列挙型と構造体を組み合わせたもの。