Linear Algebra – Blockwise inversion of the matrix with rectangular blocks

Given a matrix in block form:

$$ W = left ( begin {array} {cc}
A & B \
C & D
end {array} right) $$

from where $ A, D $ Are square matrices, we can write the inverse in the same block form:

$$ W ^ {- 1} = left ( begin {array} {cc}
A ^ {- 1} + A ^ {- 1} B (D – CA ^ {- 1} B) ^ {- 1} CA ^ {- 1} & – A ^ {- 1} B (DC
A ^ {- 1} B) ^ {- 1} \
– (D – C A ^ {- 1} B) ^ {- 1} C A ^ {- 1} & (D – C A ^ {- 1} B) ^ {- 1}
end {array} right) $$

provided that $ A $ and $ D-CA ^ {- 1} B $ are invertible.

Is there a more general version of the block inversion that allows it? $ A $ or $ D $ be rectangular?