Requirement
Pull out all the core methods from Curry Dictionary and use an "extension" wrapper type to implement the remaining methods. Then refactor the curry dictionary generic wrapper type to only wrap the core, and then extend via the single extension type.
Value Proposition
De-clutters the class and make the core methods of the class clear vs. the "extension" methods, which are build entirely in terms of the core methods. By making the core more concise, it'll be easier to spot bugs. By putting it behind another wrapper type, it'll hopefully decrease the chances that some developer in future will break the core logic.