Make By expressions only take a single argument

supercedes #533