More Docs and compile time checks in macros