forall(otype T)
struct Box {
  T x;
};
forall(otype T) void ^?{}(Box(T) * x);

forall(otype T)
void f(T x) {
  T y = x;
  Box(T) z = { x };
}
