Add visit member, remove shared flag, add prune op.
Merge branch 'work'