This function is
EXPERIMENTAL. That means, that the behaviour of this
function, the function name, in concreto ANYTHING documented here can
change in a future release of this package WITHOUT NOTICE. Be warned, and
use this function at your own risk.
Return an exception struct. For example usage see