softwaremill /quicklensScala85253Modify deeply nested case class fieldsscalalensesfunctional-programming