import io:*; import trivial_container:*; obj TemplateTest { var a: int; var b: T; var c: trivialContainer; fun print(): void { print("a: "); print(a); print("\n"); print("b: "); print(b); print("\n"); c.print(); print("\n"); } }; def MyInt int; var c: MyInt; fun addAndPrint(a: T, b: T): T { print(a+b); return a+b; } fun main(): int { var test: TemplateTest; var test2: TemplateTest; test.a = 5; test.b = 7; test.c.data = 1337; test2.a = 9; test2.b = "Hello Templates!"; test2.c.data = "Woooo nesting!"; test.print(); test2.print(); var testImport: trivialContainer; testImport.data = "From another file! Whoh!"; testImport.print(); print("\n"); print(addAndPrint(7,12)); print("\n"); return 0; }