extend the protocol to allow returning errors during callback parameter passing, making conversion errors non-fatal
remove MIT licenses