function main( context ) {
	/**
	* Reports the error message.
	*
	* @private
	* @param {ASTNode} node - node to report
	*/
	function report( node ) {
		context.report({
			'node': node,
			'message': 'require() call contains a path which loads a module internal to a stdlib package, and, thus, should be considered private'
		});
	}

	/**
	* Checks whether require path walks internals of a stdlib package.
	*
	* @private
	* @param {ASTNode} node - node to examine
	*/
	function validate( node ) {
		var requirePath;

		if ( node.callee.name === 'require' ) {
			requirePath = node.arguments[ 0 ].value;
			if (
				isString( requirePath ) &&
				startsWith( requirePath, '@stdlib' ) &&
				contains( requirePath, '/lib/' )
			) {
				report( node );
			}
		}
	}

	return {
		'CallExpression': validate
	};
}
Rule for validating that `require()` calls do not walk internals of another stdlib package.

@param {Object} context - ESLint context
@returns {Object} validators