##Pyke, 11 bytes
.F~]+=])K~]
Explanation:
.F~]+=]) - Deep for loop
~] - contents of `]` ([] by default)
+ - ^+i
=] - `]` = ^
K~] - Output value
K - Remove the output from the for loop
~] - Return the contents of `]`
###Or 7 bytes after a bugfix
M?+]K~]
Explanation:
M?+] - Deep map
?+] - `]` = `]`+i
K~] - Output value
K - Remove the output from the for loop
~] - Return the contents of `]`
###Or even 2 bytes if printing to stdout is allowed (This might come under built-ins)
M
<newline required>
This deeply applies the print_newline function to every non-sequence item in the input and recurses for sequence items.