seems .net 3.5 does not support the covariance syntax.