anchor.diff:  
   (**
   
  ----
  -### DDD und F#
  -#### Mehr Zustände
  +' An Enum representing states, mixed with a single type that contains a mixture of legal and illegal data
  +
  +---
  +### DDD und F#
  +#### More states
   
   *)
   
  
positive.code: 
  *)
  
      type UnverifizierterKontakt = { Name: PersonenName; Email:Email; }
  
      type VerifizierterKontakt = { Name: PersonenName; Email:VerifizierteEmail; }
  
      type Kontakt' = 
          | UnverifizierterKontakt of UnverifizierterKontakt
          | VerifizierterKontakt of VerifizierterKontakt
  
      let ``Funktion gilt nur für verifizierte ohne Prüfung`` verifizierterKontakt = 
          verifizierterKontakt.Email.Email
  
  (**
  
  ---
  ### DDD und F#
  #### Model für einen Kunden mit Adressen
  
  
  ' Das Pattern matching schränkt die Auswahl auf konkrete Typen und nicht mehr auf das Abfragen von einzelnen Werten
  
negative.code: 
  ---
  ### DDD und F#
  #### Advantages of the F# type system
  
  - Type system embraces composition
  - DU allow a comprehensive representation of states
  
  ' - In C# oder in Java ist die Hemmschwelle relativ hoch neue Types zu erstellen. Es gibt sogar das code smell "Primitive Obsession", kein Scherz
  ' - Komposition erlaubt es einfache Typen zu immer komplexeren zusammenzufassen.  Es ist erstaunlich wie viel dann auf eine Seite passt
  