workarounds for wonky clang behavior