code: func (t *tree) itemList(until ...itemType) *ast.ListNode {
  	var list *ast.ListNode
  	for {
  		var token = t.next()
  		if list == nil {
  			list = &ast.ListNode{token.pos, nil}
  		}
  		var node, halt = t.textOrTag(token, until)
  		if halt {
  			return list
  		}
  		if node != nil {
  			list.Nodes = append(list.Nodes, node)
  		}
  	}
  }
docs: // itemList:
  //	textOrTag*
  // Terminates when it comes across the given end tag.