Reverse an N-Dimensional array
Pyth, 11 - 50% = 5.5 bytes

L?+IbY_yMbb


Try it online: Demonstration or Test Suite.

This defines a function y. The additional 3 bytes &lt;newline&gt;yQ simply call the function with the input list and therefore doesn't need to be counted towards the bytes total. 

Explanation:

L?+IbY_yMbb
L             define a function y(b), that returns:
 ?+IbY           if b + [] == b (test if b is a list):
      _yMb           recursively call y on all elements in b, then reverse the list
          b      else: b