contract interface I =
    entrypoint f : () => int

contract C : I =
    entrypoint f() = 123

main contract Main =
    stateful entrypoint test() =
        let c1 : I = Chain.create()       // fails
        let c2 : C = Chain.create() : I   // fails
        let c3     = Chain.create() : I   // fails
        ()