workaround clang-bug
add a test with a user-suplied type
restructure namespaces