clang complains without typename prefix