t :: {BadArityError, term, term, term}
options :: [__exception__: term, function: term, args: term] | [{String.t, term}]