This isn't binary compatible (change the constructor on Tsv).

Can you implement this with a methon the the companion object to Tsv:

```scala
object Tsv {
  def apply(p: Path, sm: SinkMode): Tsv = new Tsv(p, ...) {
    override val sinkeMode = sm
  }
}
```