The `*args` here is confusing -- is it necessary?  I'd prefer to do `n=4, engines=None, **kwargs`