def apply(stormDag: StormDag, writer: Writer): Unit = writer.write(apply(stormDag).toString)
  def apply(tail: Producer[Storm, _], writer: Writer): Unit = apply(DagBuilder(tail), writer)
  def apply(tail: Producer[Storm, _]): String = apply(DagBuilder(tail)).toString

are the new ones, so yes it'll have that behavior