declares types rather than the expected interface type 'IFoo'