Since the type of each parameter is thoroughly checked, the check for the parameter type raises an error when numpy array is used. Turns out np.int64 is not a child of int, so we cannot just check that the input is an integer. I've hacked in a fix (also check if the parameter is an instance of np.int64), but there should be a better way to handle these inputs.
This problem also occurs with float and np.float64.