All of these names are borrowing the `((before_1, after_1), ... (before_N, after_N))` nomenclature from the prior file. It's hard to define "before" and "after" in a truly n-dimensional array, however, every one of these functions does pad before or after a *specified* axis of `arr`. 

In other words, `before` in the name means the final operation will be `np.concatenate((new_pad_region, arr), axis=axis)`. In this sense I do think "before" is accurate. "after" means `np.concatenate((arr, new_pad_region) axis=axis)`.

There is probably room for clarification, but this function does pad before `arr` along `axis`.