docs: function validate( opts, options ) {
  	if ( !isObject( options ) ) {
  		return new TypeError( 'invalid input argument. Options argument must be an object. Value: `' + options + '`.' );
  	}
  	if ( options.hasOwnProperty( 'template' ) ) {
  		opts.template = options.template;
  		if ( !isString( opts.template ) ) {
  			return new TypeError( 'invalid option. `template` option must be a string primitive. Option: `' + opts.template + '`.' );
  		}
  		if ( !contains( templates, opts.template ) ) {
  			return new Error( 'invalid option. Unrecognized template name. Must be one of [' + templates.join( ',' ) + '] Option: `' + opts.template + '`.' );
  		}
  	}
  	if ( options.hasOwnProperty( 'title' ) ) {
  		opts.title = options.title;
  		if ( !isString( opts.title ) ) {
  			return new TypeError( 'invalid option. `title` option must be a string primitive. Option: `' + opts.title + '`.' );
  		}
  	}
  	return null;
  }