using symbolic lambda on default
added caching of explicit repr