M -> N ---> fetch w M -> box (unbox w+ N)
M -> shift N ---> fetch w M -> box (unbox w+ (shift N))
M -> N ---> fetch w M -> box (unbox w+ (shift N))
Problem: first two options give us typing preservation. The last one gives preservation of world opening (which we need if there is ever going to be any dynamics).
Also, last one will allow us to use function instead of relation :)
We have 3 options for fetch:
M -> N ---> fetch w M -> box (unbox w+ N) M -> shift N ---> fetch w M -> box (unbox w+ (shift N)) M -> N ---> fetch w M -> box (unbox w+ (shift N))
Problem: first two options give us typing preservation. The last one gives preservation of world opening (which we need if there is ever going to be any dynamics).
Also, last one will allow us to use function instead of relation :)