For newcomers in elmish views it's sometimes not easy to understand when to use yield vs yield!. And the compiler is not really useful here: let div _ _ = 1 let subView _ _ = [1; 2] let view model dispatch = [ yield! subView model dispatch yield! div [] [] ] 