Refactor stream specs to make precedence more explicit