fix for return type exceptions in C