Should I use the final modifier when declaring case classes?
<p>According to <a href="https://github.com/puffnfresh/wartremover">scala-wartremover</a> static analysis tool I have to put "final" in front of every case classes I create: error message says "case classes must be final".</p>

<p>According to <a href="https://github.com/sksamuel/scapegoat">scapegoat</a> (another static analysis tool for Scala) instead I shouldn't (error message: "Redundant final modifier on case class")</p>

<p>Who is right, and why?</p>