Allows generic promises
Removes error assertions: the raised error is not predictable