refined type rules for binary instructions