function _v(fn, n, v, type){
    n = {1:'first',2:'second',3: 'third', 4: 'fourth'}[n]
    _a(!type || (typeof v === type), fn, "" + type + " expected for " + n + " argument")
  }
function _v(fn, n, v, type){
    n = {1:'first',2:'second',3: 'third', 4: 'fourth'}[n]
    _a(!type || (typeof v === type), fn, "" + type + " expected for " + n + " argument")
  }
function _v ( fn , n , v , type ) { n = { 1 : 'first' , 2 : 'second' , 3 : 'third' , 4 : 'fourth' } [ n ] _a ( ! type || ( typeof v === type ) , fn , "" + type + " expected for " + n + " argument" ) }
_v: validate argument n with fn name and message
_v : validate argument n with fn name and message