Comparing files wrap.wxb and WRAP_OLD.WXB
***** wrap.wxb
                ' make it a pointer
                ' old version used to use the copy constructor
                'fputs( tmp2, "\n    // make a pointer via copy constructor" )
                ' fputs( tmp2, "\n    " & returns & " = new " & theType & "(" & head & "(" & argList & "));" )

                ' wrapping the pointer directly seems to work, though
                fputs( tmp2, "\n    " & returns & " = &" & head & "(" & argList & ");" )
***** WRAP_OLD.WXB
                ' make it a pointer
                fputs( tmp2, "\n    // make a pointer via copy constructor" )
                fputs( tmp2, "\n    " & returns & " = new " & theType & "(" & head & "(" & argList & "));" )

                        elseif deref then
                ' make it a pointer
                fputs( tmp2, "\n    " & returns & " = &" & head & "(" & argList & ");" )
*****

***** wrap.wxb


                        elseif deref then
                ' make it a pointer
                fputs( tmp2, "\n    " & returns & " = &" & head & "(" & argList & ");" )

                        else
***** WRAP_OLD.WXB

                        else
*****

***** wrap.wxb
                ' FIXME!
                'fputs( tmp2, "\n    wPushPtrHandle( (wNumber)(int)returns);" )
                fputs( tmp2, "\n    wWrapPushObject( _" & theClass & ", W_TRUE, (void *)returns );" )
***** WRAP_OLD.WXB
                ' FIXME!
                ' fputs( tmp2, "\n    wPushPtrHandle( (wNumber)(int)returns);" )
                fputs( tmp2, "\n    wWrapPushObject( _" & theClass & ", W_TRUE, (void *)returns );" )
*****

