fixed function that determines if one signature extends another