using System; using System.Collections.Generic; class Foo { public ICloneable Test (S t) { return (ICloneable) t; } } public static class ConvertHelper { public static IEnumerator Test (S s) where T : S { yield return (T) s; } static void Main () { } }