TLazy is probably not the only type that needs following here. The type could be hidden behind a TMono or a TType as well. Instead of manually recursing, you can use `match follow t with` which will get the real type.