         [ drop f ]
     } case ;
 
-: marshall-non-ptr ( obj -- byte-array/f )
+: marshall-non-pointer ( obj -- byte-array/f )
     {
         { [ dup byte-array? ] [ ] }
         { [ dup alien-wrapper? ]

    current-vocab lookup [
        dup superclasses [ struct-wrapper? ] any? [
            [ class name>> heap-size ] keep
            '[ malloc-byte-array _ new swap >>underlying ]
        ] [ drop [ ] ] if
    ] [ [ ] ] if* ;


    [ marshall-void* ] map >void*-array malloc-underlying ;

: (marshall-char*-or-string) ( n/string -- alien )
    dup string?
    [ utf8 string>alien malloc-byte-array ]
    [ (marshall-char*) ] if ;

