I agree with the point about adding helper functions for your data type so you can treat it as opaque in most places. For the rest, though, you can also use the slightly obscure 'as' syntax 'foo ((Foo s) as f) = ...' which allows you to use both 's' and 'f' in your function body (with the additional bonus of avoiding an extra object allocation).
-- 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.