nl_tokens: Creates a function that either curries or invokes func with optional this binding and partially applied arguments .
pl_tokens: function createWrap ( func , bitmask , thisArg , partials , holders , argPos , ary , arity ) { var isBindKey = bitmask & BIND_KEY_FLAG ; if ( ! isBindKey && typeof func != 'function' ) { throw new TypeError ( FUNC_ERROR_TEXT ) ; } var <mask> = partials ? partials . length : 0 ; if ( ! length ) { bitmask &= ~ ( PARTIAL_FLAG | PARTIAL_RIGHT_FLAG ) ; partials = holders = undefined ; } ary = ary === undefined ? ary : nativeMax ( toInteger ( ary ) , 0 ) ; arity = arity === undefined ? arity : toInteger ( arity ) ; length -= holders ? holders . length : 0 ; if ( bitmask & PARTIAL_RIGHT_FLAG ) { var partialsRight = partials , holdersRight = holders ; partials = holders = undefined ; } var data = isBindKey ? undefined : getData ( func ) ; var newData = [ func , bitmask , thisArg , partials , holders , partialsRight , holdersRight , argPos , ary , arity ] ; if ( data ) { mergeData ( newData , data ) ; } func = newData [ 0 ] ; bitmask = newData [ 1 ] ; thisArg = newData [ 2 ] ; partials = newData [ 3 ] ; holders = newData [ 4 ] ; arity = newData [ 9 ] = newData [ 9 ] == null ? ( isBindKey ? 0 : func . length ) : nativeMax ( newData [ 9 ] - length , 0 ) ; if ( ! arity && bitmask & ( CURRY_FLAG | CURRY_RIGHT_FLAG ) ) { bitmask &= ~ ( CURRY_FLAG | CURRY_RIGHT_FLAG ) ; } if ( ! bitmask || bitmask == BIND_FLAG ) { var result = createBind ( func , bitmask , thisArg ) ; } else if ( bitmask == CURRY_FLAG || bitmask == CURRY_RIGHT_FLAG ) { result = createCurry ( func , bitmask , arity ) ; } else if ( ( bitmask == PARTIAL_FLAG || bitmask == ( BIND_FLAG | PARTIAL_FLAG ) ) && ! holders . length ) { result = createPartial ( func , bitmask , thisArg , partials ) ; } else { result = createHybrid . apply ( undefined , newData ) ; } var setter = data ? baseSetData : setData ; return setWrapToString ( setter ( result , newData ) , func , bitmask ) ; }