def cast_down(value):
    """Convert an object to an integer if no rounding is required.

    If the object is a float, which can be converted to an integer
    without rounding int(`value`) is returned. Otherwise `value` is returned.

    Args:
        value (object): An object to possibly converted

    Returns:
       (object or int) Either `value` or its integer representation.
    """
    return int(value) if isinstance(value, float) and int(value
        ) == value else value
