def METHOD_NAME(obj: Union[Cube, Coord]) -> bool:
    """
    Finds the mandatory dtype for obj and checks that it is correctly
    applied. If obj is a coord, any bounds are checked too.
    Args:
        obj:
            Object to be tested
    Returns:
        True if obj is of the mandated dtype.
    """
    # if coord, acts on coord.points
    req_dtype = get_required_dtype(obj)
    dtype_ok = obj.dtype == req_dtype
    if isinstance(obj, iris.coords.Coord) and obj.has_bounds():
        # check bounds - want the same dtype as the points
        bounds_dtype_ok = obj.bounds.dtype == req_dtype
        dtype_ok = dtype_ok and bounds_dtype_ok
    return dtype_ok