Fix for double arrow misalignment in deeply nested arrays.

Addresses #733
Extra coverage is never bad... I just added the extra cases you mentioned. AFAIK, ready to merge if green on fabbot & travis.