def check_external_parameter_name(name):
    """
    Checks that a user-supplied parameter name meets the special criteria.
    Basically, we do not want such names start with underscores
    to prevent them from conflicting with internal names.
    """
    if name.startswith('_'):
        raise ValueError(
            'External parameter name cannot start with the underscore.')
