Matching implementations to specifications: The Corner Cases of ioco