public Type Test(TSource source)
            {
                // retrieve source property getter
                var objSource  = (object)source;
                var sourceType = objSource.GetType();

                Assert.AssertEquals(typeof(TSource), sourceType);
                return(sourceType);
            }
        public void TestContrainedOnGenericField()
        {
            var a = new Test2 <DateTime>(DateTime.UtcNow);

            Assert.AssertEquals(typeof(DateTime), a.element.GetType());
        }