Fix a bug in Type.IsAppropriate

Fix a bug in Type.IsAppropriate extension method, wrongly fails when passing
arguments which is not a generic type definition but is not a constructed type.