pub fn guard(var: Variable, to: Type) -> Type