Extended chain to support property access in its arguments
swap new returns the new value swapped in