use "basic_models.g"; fun foo where { DefaultConstructible, Regular } (T x) -> T@ { let a = new T[1]; a[0] = x; let y = @T(a[0]); delete a; return y; } fun main() -> int@ { return foo(1) - 1; }