1 <span class="kw1">data</span> Person <span class="sy0">=</span> Person <span class="br0">{</span> firstName <span class="sy0">::</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:String"><span class="kw4">String</span></a>
2 <span class="sy0">,</span> lastName <span class="sy0">::</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:String"><span class="kw4">String</span></a>
3 <span class="sy0">,</span> age <span class="sy0">::</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Int"><span class="kw4">Int</span></a>
4 <span class="sy0">,</span> height <span class="sy0">::</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Float"><span class="kw4">Float</span></a>
5 <span class="sy0">,</span> phoneNumber <span class="sy0">::</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:String"><span class="kw4">String</span></a>
6 <span class="sy0">,</span> flavor <span class="sy0">::</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:String"><span class="kw4">String</span></a>
7 <span class="br0">}</span> <span class="kw1">deriving</span> <span class="br0">(</span><a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Show"><span class="kw4">Show</span></a><span class="br0">)</span>
9 <span class="kw1">data</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Maybe"><span class="kw4">Maybe</span></a> a <span class="sy0">=</span> Nothing <span class="sy0">|</span> Just a
10 <span class="kw1">data</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Either"><span class="kw4">Either</span></a> a b <span class="sy0">=</span> Left a <span class="sy0">|</span> Right b <span class="kw1">deriving</span> <span class="br0">(</span><a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Eq"><span class="kw4">Eq</span></a><span class="sy0">,</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Ord"><span class="kw4">Ord</span></a><span class="sy0">,</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Read"><span class="kw4">Read</span></a><span class="sy0">,</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Show"><span class="kw4">Show</span></a><span class="br0">)</span>
11 <span class="kw1">data</span> List a <span class="sy0">=</span> Empty <span class="sy0">|</span> Cons a <span class="br0">(</span>List a<span class="br0">)</span> <span class="kw1">deriving</span> <span class="br0">(</span><a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Show"><span class="kw4">Show</span></a><span class="sy0">,</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Read"><span class="kw4">Read</span></a><span class="sy0">,</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Eq"><span class="kw4">Eq</span></a><span class="sy0">,</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Ord"><span class="kw4">Ord</span></a><span class="br0">)</span>
12 <span class="kw1">type</span> <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:String"><span class="kw4">String</span></a> <span class="sy0">=</span> <span class="br0">[</span><a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:Char"><span class="kw4">Char</span></a><span class="br0">]</span> <span class="co1">--type synonym</span>