I think Yown got me more interested in playing with Io than anything else. However the Builder is limited (because everything gets converted to a html tag). There are more complete HTML builders for Io on github.
Bruce Tate also provides a nice example of a HTML builder in *Seven languages in 7 weeks". Below is my slightly amended version of it:
Builder := Object clone
Builder forward := method (
write ("<", call message name, ">")
call message arguments foreach (arg,
content := self doMessage (arg);
if (content type == "Sequence" or content type == "Number", write(content))
)
write ("</", call message name, ">")
)
Builder do (
html (
h1 ("header")
div (
p ("paragraph", b ("bold"), "more text")
ul (list(1,2,3) foreach (n, li (n)))
)
)
)