I’m not sure there’s any need to check - if we’re going for option 1 (static table for builtins), the table can simply map the method name and object type onto a suggestion. So add on a list is mapped straight to “did you mean to use a set?” No need to check whether add is a set method - you know it is already.
Same for any of the registration options. Just let the user register the text of a suggestion, and don’t worry about trying to introspect what the user might have meant.