@value interface Type1 { something () -> () } @type interface Type2 { something () -> () } concrete Type3 { refines Type1 defines Type2 @value something () -> () }