The function `fn` needs to be able to handle any number of arguments, i.e. `(*args, **kwargs)` for [example](https://github.com/lukecampbell/pyon/blob/0fb740bdfc73688fd0ac67e92e05137ee90d9d37/pyon/util/memoize.py#L30-59)

```
def handle_stream_exception():
  @functools.wraps(fn)
  def wrapper(*args, **kwargs):
    ...
    fn(*args, **kwargs)
    ...
  return wrapper