refactor to simplify binary vs list handling

 - validate binaries vs. lists up front
 - simplify code path
 - also support node info and stats