ColorPrinter.defaultcolor is less recursive, but performs better in edge cases!