docs: function(template_str) {
  							if(!isString(template_str)) {
  								if(is_jquery_obj(template_str) || isNList(template_str)) {
  									template_str = template_str.length > 0 ? trim(getTextContent(template_str[0])) : "";
  								} else if(isElement(template_str)) {
  									template_str = trim(getTextContent(template_str));
  								} else {
  									template_str = "" + template_str;
  								}
  							}
  
  							var template = create_template(template_str);
  
  							if(arguments.length >= 2) { // Create and use the template immediately
  								return memoize_template.apply(template, rest(arguments));
  							} else { // create the template as a function that can be called with a context
  								return bind(memoize_template, template);
  							}
  						}