<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def integer_binning(data=None, **kwargs) -> StaticBinning: """Construct fixed-width binning schema with bins centered around integers. Parameters range: Optional[Tuple[int]] min (included) and max integer (excluded) bin bin_width: Optional[int] group "bin_width" integers into one bin (not recommended) """

    if "range" in kwargs:
        kwargs["range"] = tuple(r - 0.5 for r in kwargs["range"])
    return fixed_width_binning(data=data, bin_width=kwargs.pop("bin_width", 1),
                               align=True, bin_shift=0.5, **kwargs)