Dlaczego oprócz konstruktora typu w Haskell istnieje konstruktor wartości?

Jestem nowicjuszem w Haskell i obecnie przechodzę przez Real World Haskell. Książka mówi, że konstruktor typu jest używany tylko w sygnaturze typu, podczas gdy konstruktor wartości jest używany w rzeczywistym kodzie. Podaje również przykład deklaracji, aby pokazać, że nazwy obu są niezależne od siebie. Dlaczego w pierwszej kolejności potrzebne są dwa konstruktory, jeśli tylko jeden z nich jest używany w rzeczywistym kodzie? Ponieważ nie użyjemy konstruktora typu w rzeczywistym kodzie, do jakiego celu służy konstruktor typu?

questionAnswers(3)

yourAnswerToTheQuestion