new 'isinstance' contract