with_scope can now handle relations by label. Closes #447, closes #448, closes 689