Use mkNode to validate args.
Fix da bugs.
Avoid some needless work.
Improve debug logging.