walk-tree = node @fp ->
  walk -rc = nodes @fp ->
    for nodes node ->
      - walk node.nodes fp [node]
      - fp node.data [node && node.data]
    ;
  _
    nodes : A|L : tree-node
  ;

  - walk node.nodes fp
  - fp node.data
_
  node : tree-node
;