//#isut class List { Int isEmpty() { return this.isEmpty() } Int head() { return this.head() } List tail() { return this.tail() } List cons(Int x) { return this.cons(x) } Null println() {} } class Cons extends List { Int head; List tail; Int isEmpty() { return false } Int head() { return this.head } List tail() { return this.tail } List cons(Int x) { return new Cons(x, this) } Null println() { printChar(this.head); this.tail.println(); } } class Nil extends List { Int isEmpty() { return true } List cons(Int x) { return new Cons(x, this) } Null println() { printChar(10); printChar(13); } } { List str = "hello, world"; str.println(); }