Fixing the hygiene of SWAP (sadly we can no longer use arbitrary l-values).