raising implicit errors in case the function being registered isn't annotated as watchable