Add the ability to allow unknown types through the macro. and tests