code: func (ctx *Context) Expand(s string) (string, error) {
  	tmpl, err := newTemplate(s, nil)
  	if err != nil {
  		return s, err
  	}
  
  	var buf bytes.Buffer
  	if err := tmpl.Execute(&buf, ctx); err != nil {
  		return s, err
  	}
  
  	return buf.String(), nil
  }
docs: // Expand treats the string s as a template and populates it with values from
  // the context.