The return results for `full_output=True` are quite specific to `geometry_area_weights()` and don't seem appropriate to be exposed in the public API. If the cut-down result from `full_output=False` does turn out to be desirable then I'd suggest providing a new public function and re-factoring the private functions that support them.