True, it is a layering violation, but so is the workaround and the latter is more obscure. It needs an explanatory comment of in any case.