code: function rollAny( roll ) {
    if ( roll instanceof Roll ) {
      return rollClassic( roll );
    } else if ( roll instanceof WodRoll ) {
      return rollWod( roll );
    }
    return isDefined( roll ) ? rollAny( convertToAnyRoll( roll )) : null;
  }
docs: Rolls the dice from `Roll` or `WodRoll` objects.
  
  @func
  @alias roll
  @since v2.0.0
  @param {Roll|WodRoll|Object} roll - `Roll`, `WodRoll` or similar object.
  @return {Result} Returns `Result` for defined parameters, otherwise returns `null`.
  @see rollClassic
  @see rollWod
  @example
  roll(new Roll(10, 2, -1)); //=> { notation: '2d10-1', value: 14, rolls: [ 7, 8 ] }
  roll({ dice: 6 }); //=> { notation: 'd6', value: 4, rolls: [ 4 ] }
  roll(new WodRoll(10, 4, true, 8)); //=> { notation: '4d10!>8', value: 2, rolls: [3,10,7,9,5] }
  roll({ dice: 8, count: 3, again: true }); //=> { notation: '3d8!>6', value: 2, rolls: [7,3,9 ] }
  roll( null ); //=> null