'Generate a bunch of concrete signatures by varying the width
and signedness of size arguments (see issue #1923).'

def make_carray_sigs(self, formal_sig):

    for actual_size in (types.intp, types.int32, types.intc, types.uintp, types.uint32, types.uintc):
        args = tuple(((actual_size if (a == types.intp) else a) for a in formal_sig.args))
        (yield formal_sig.return_type(*args))
