I can't understand what you mean by those colons in the second definition of Person. If you're thinking of type signatures, then that doesn't work in haskell.
In an ADT, you give names to possible values. So "Name String" will work whereas "Name : String" won't work.
data Person = Name String
| Age Integer
| FavThing String
means that Person can be
one of these things (which is not what you want).
What you want is possible with record syntax. He'll detail it later I think.
If you're interested in learning about it beforehand, look it up in the haskell wikibook (another great haskell resource).