API: concatting DataFrames does not skip empty objects
See discussion in https://github.com/pandas-dev/pandas/pull/38843

To repeat the main argument: when not skipping empty objects, the resulting dtype of a concat-operation only depends on the input *dtypes*, and not on the exact content (the exact values, how many values (shape)). In general we want to get rid of value-dependent behaviour. In the past we discussed this in the context of the certain values (eg presence of NaNs or not), but I think also the shape should not matter (eg when slicing dataframes before contatting, you can get empties or not depending on *values*).

This starts with reverting the change for DataFrame. If we opt for this behaviour, in addition we should also discuss how to change the Series behaviour.

cc @jbrockmendel
so if we revert this, then we actually need to change real logic here and use the combined dtypes of the empties, which is fine. I'm generally OK with this.

>  If we opt for this behaviour, in addition we should also discuss how to change the Series behaviour.

If we do, we should do the same for Index setops, which has special-casing for empty indexes. > I'm generally OK with this.
> 
> > If we opt for this behaviour, in addition we should also discuss how to change the Series behaviour.
> 
> If we do, we should do the same for Index setops, which has special-casing for empty indexes.

ok fair enought. let's revert then i guess try to unify and see what breaks. Opened a follow-up issue for this at https://github.com/pandas-dev/pandas/issues/39122