I didn't spend much time looking at your code in depth, but my intuition 
tells me that in saying this is the *correct* type, you mean "I had a 
version of this program that I tried to compile, and the error from the 
compiler told me to change "update" to this type to fix it". 

If thats the case, then I suggest you go back to the type annotation with 
the semantics you wanted and see if there was another error somewhere in 
the function body that might be throwing things off. Something that isn't 
immediately intuitive is that the Elm compiler uses both the type 
annotations you provide *and* the types of the expressions in your function 
definition in typechecking; it can work from either direction to verify 
that the two line up. Sometimes this makes the errors a little misleading, 
since it'll tell you that you should change your annotation to match the 
type it inferred from the function definition, when what you really want is 
to fix your function so that it lines up with your type annotation. Once 
you get used to it, though, its not hard to spot, and the error itself can 
still give you hints about where your reasoning is going astray.

-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to