allow argument-dependent lookup in swap