It's a little confusing here since you're shadowing the module level `idp` (though I guess if you change that one to `IDP`, this issue goes away).