sV (n,t@(Scheme rh ps ke))            = case zip (filter isTypevar (idents (Scheme rh ps []))) abcSupply of
                                          [] -> (n,t)
                                          s ->  (n,subst s t) 
  where isTypevar n                   = isGenerated n && not (isStateType n)
sV (n,t@(Scheme rh ps ke))            = case zip (filter isTypevar (idents (Scheme rh ps []))) abcSupply of
                                          [] -> (n,t)
                                          s ->  (n,subst s t) 
  where isTypevar n                   = isGenerated n && not (isStateType n)
sV (n,t@(Scheme rh ps ke))            = case zip (filter isTypevar (idents (Scheme rh ps []))) abcSupply of
                                          [] -> (n,t)
                                          s ->  (n,subst s t) 
  where isTypevar n                   = isGenerated n && not (isStateType n)