Seems to be related to the fact that there was no new() method
Sounds feasible. The method doesn't need to be called "new" (with C, at least), but if sv_isobject(sv) is to return true, then the reference (sv) does need to have been blessed into some package ... which is what "new" normally does, of course.