return error instead panic if argument reflection types are not matching