TYP return type of DataFrame.clip not correct
https://github.com/pandas-dev/pandas/blob/094f630cd84365b1902b4ee8d3de6a72d1bcbca3/pandas/core/generic.py#L7449-L7458

Return type should be `Optional[FrameOrSeriesUnion]`

It could also do with being overloaded according to the value of `inplace` - see `set_axis` and `DataFrame.reset_index` for examples