

| if there’s no
hcp (hash code provider), we call this->GetHashCode |
|
| experimenting
with this->wait(), instead of a (Shape^) cast to remove “active” |
|
| todo: explore |
|
| a) casting to non-active and automatically
blocking on futures (even if we mark all out params and no out params or
return values are being used, there could be side effects, so if it doesn’t
say “active” we should block on the whole call) |
|
| b) adding active overloads throughout FX to
avoid this kind of cast) |