(#2543) - fix call stack exceeded

@calvinmetcalf I know I'm leaking the arguments. is this a huge deal though? it only gets called once per `extend()`.