looks like we need a compiler-dependent typename macro...