Is it possible to DRY these 2 methods of a tailrec Node Tree?
I defined a Higher-Order function:

@tailrec
def foldAsc(op: Node =&gt; Node): Node = {
  op(this)       // &lt;= still this statemnt when x=&gt;x is useless.. 
  parent match {
    case None =&gt; this
    case Some(x) =&gt; x.foldAsc(op)
  }
}

def asc(): Node = foldAsc(x =&gt; x)


def ascVisited(deltaInc: Inc): Node = foldAsc { x =&gt;
  visited += deltaInc
  x
}


It is not still optimal but DRYed out a little.