: FactorSmokeBound>smoke-binding ( alien -- object ) { [ moduleName>> ] [ NullModuleIndex>> ] [ [ classes>> ] keep numClasses>> ] [ [ methodMaps>> ] keep numMethodMaps>> ] [ [ methodNames>> ] keep numMethodNames>> ] [ [ types>> ] keep numTypes>> ] [ castFn>> ] [ binding>> ] [ smoke>> swap >>smoke swap >>binding swap >>alien-cast-fn swap >>types swap >>method-names swap >>method-maps swap >>classes swap >>null-module-index swap >>module-name ] } cleave ;