Added lifetime parameter variance to the syntax.
Function parameters do not have variance.
Account for lifetime variance in subtyping.
Check variance of struct declarations.