code: function unbox(value){
    if (value instanceof ResType) return when(value, unbox)
    if (value && typeof value == 'object') return unboxAll(value)
    return value
  }
docs: unbox all values in `obj` recursively
  
  @param {Object|Array} obj
  @return {Result} for a new `obj`