hop learned dart2js

other cleanup