
Hi, has it been considered that the compiler might be instructed to replace traverse by traverse_ if the result is not used? Are the conditions where traverse can be replaced by traverse_ well-defined? Probably not in general, but maybe for individual Traversable instances? Is this expressible in rules? At a first glance, the rule "traverse == traverse_" seems to be sound where the resulting program well-typed, as if it is well-typed in both cases, this means that the result was not used. Of course, an explicit "traverse_" is still useful, but wouldn’t it nevertheless be nice to have a sufficient smart compiler? Greetings, Joachim -- Joachim “nomeata” Breitner mail@joachim-breitner.de • http://www.joachim-breitner.de/ Jabber: nomeata@joachim-breitner.de • GPG-Key: 0xF0FBF51F Debian Developer: nomeata@debian.org