直和型を「C言語の共用体に相当する」と説明するのは、もはや誤解を生むだけである

関数型プログラミングを学ぶ際に登場することのある単語として「代数的データ型」というものがあり、直和型はこの代数的データ型の一種である。代数的データ型において、「列挙型はCの列挙体(enum)、直積型はCの構造体(struct)に相当する」という説明に関しては概ね異論はないのだが、その中で一つだけ、「直和型はCの…