interface I {} contract J {} contract C { mapping(I => bool) i; mapping(J => bool) j; function f(I x, J y, address z) public view returns (bool, bool, bool) { return (i[y], j[x], i[z]); } } // ---- // TypeError 7407: (189-190): Type contract J is not implicitly convertible to expected type contract I. // TypeError 7407: (195-196): Type contract I is not implicitly convertible to expected type contract J. // TypeError 7407: (201-202): Type address is not implicitly convertible to expected type contract I.