Pumpernickel bread that came to be known as "Pumpernickel", Westphalian pumpernickel is distinguished by use of coarse rye meal and a very long baking period, which gives the bread its characteristic dark color. Like most traditional all-rye breads, pumpernickel is traditionally made with an acidic sourdough starter, which preserves dough structure by counteracting highly active rye amylases. That method is sometimes augmented or replaced in commercial baking by adding citric acid or lactic acid along with commercial yeast. Traditional German pumpernickel contains no coloring agents, instead relying on the Maillard reaction to produce its characteristic deep brown color, sweet, dark chocolate,
Type system or an "effect system", which enables even more program specifications to be verified by a type checker. Beyond simple value-type pairs, a virtual "region" of code is associated with an "effect" component describing "what" is being done "with what", and enabling for example to "throw" an error report. Thus the symbolic system may be a "type and effect system", which endows it with more safety checking than type checking alone. Whether automated by the compiler or specified by a programmer, a type system makes program behavior illegal if outside the type-system rules. Advantages provided by programmer-specified type systems include: Advantages