human
Here's a good function header given the following:
I wrote the below code

    assert (permutation.ndim == 1), 'Only    one    dimensional    permutaton    arrays    are    supported'
    def permute(arr):
        assert (arr.ndim == 1), 'Only    one    dimensional    arrays    are    supported'
        assert (arr.shape == permutation.shape), "Array    shapes    don't    match"
        return array([arr[i] for i in permutation])
    return permute

What's a good function header?
assistant
#Here's a good function header.

def arrayPermutation(permutation):