Reverse engineering VBA to add functionality that's normally not possible, like creating objects by name (without kludges) or calling across projects without referencing the callee.
IVbaVariable returns as "IUnknown" when reading method arguments/returns that come from COM (e.g. Scripting.Dictionary). The proper type name should be returned instead.