code: def check_placeholders(value):
    
    if isinstance(value, six.string_types):
      if TOKEN_REGEX.search(value):
        raise ValueError('{0:s} must be replaced in dictionary'.format(value))
    elif isinstance(value, list):
      return [check_placeholders(item) for item in value]
    elif isinstance(value, dict):
      return {key: check_placeholders(val) for key, val in value.items()}
    elif isinstance(value, tuple):
      return tuple(check_placeholders(val) for val in value)
    return value
docs: Checks if any values in a given dictionary still contain @ parameters.
  
    Args:
      value: Dictionary, list, or string that will be recursively checked for
          placeholders
  
    Raises:
      ValueError: There still exists a value with an @ parameter.
  
    Returns:
      Top-level caller: a modified dict with replaced tokens.
      Recursive caller: a modified object with replaced tokens.