ParentFull threaddreamdu5t·Elm does things the same way. However, PureScript has lenses so the same thing can be done if you're using the equivelant of Elm in purescript, purescript-puxView on HN