About the code in the post: why not just use a String for the animal? Union 
types are for when you have a finite number of different states, which is 
clearly not the case if you're expecting user input.

If you want to differentiate between predefined and user-defined animals, 
you could have a union type with two cases:

type Animal = Default AnimalName | Custom String

Or if you just want to make clear what functions take an Animal in the 
signature, alias String to Animal:

type alias Animal = String

 My advice is to just think about the data you expect when you structure 
your types.
Does it have a set number of arguments with always the same types? Use a 
record.
Does it have irregular types but a finite number of states? Use a sum type.

Also, givenOriginalAnimal is just a Maybe.map. 
http://package.elm-lang.org/packages/elm-lang/core/5.1.1/Maybe#map

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elm-discuss+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to