currently it is not allowed to specify __owned/__shared for subscript parameters.
__owned
__shared
public subscript(x:X) -> Y { ... }
is X passed +0 or +1? is there a way to override this?
X