functional environments with view swaps