fcn cusipCheckDigit(cusip){ var [const] vs=[0..9].chain(["A".."Z"],T("*","@","#")).pump(String); try{ sum:=Walker.cycle(1,2).zipWith(fcn(n,c){ v:=vs.index(c)*n; v/10 + v%10 }, cusip[0,8]).reduce('+); ((10 - sum%10)%10 == cusip[8].toInt()) and cusip.len()==9 }catch{ False } }