Mental process when encountering the first new concept:
After using filter I find my first Maybe, through a type mismatch:
Maybe Item vs value.id
where Item : { id : Int, label : String }
Ok, I need to tell the compiler that I will handle the nil case. How do they call nil here? Couldn't find it in the docs as nil or as Maybe. Let's try google "elmlang maybe", I get core/Maybe.elm and find "Nothing". Let's handle Nothing. My first attempt:
if | item == Nothing -> dostuff | otherwise -> dostuff
doesn't work, same error message. I think the problem is in the Item vs value.id, not the Maybe. Then I define anonymous functions as typed functions to tell the compiler that it's just a record with .id but Item. Doesn't work. Hhmm, maybe the if didn't solve the Maybe. Go back to core/Maybe, read how case handles Just and Nothing. Success!
dropdown.elm doesn't work in 0.18