Now detects circular recursion at link time rather than compile time