interface IFoo {}
interface IBar : IFoo {}

class Mona<T> where T : IFoo {}

class Test
{
        public Mona<K> GetMona<K> () where K : IBar
        {
                return new Mona<K> ();
        }

        public static void Main () {}
}