removed unneeded uses of Lift2

The uses of `Lift2` were always for types of the form `Lift2 Var X Y`, so the instances obtained for them were the same as the ones for `Var X Y`.

In particular we keep the intended meaning for Scope equality:

```
*Bound.Scope> let xs = abstract1 'a' "ab" >>>= \x -> [x,x]
*Bound.Scope> xs == toScope (fromScope xs) 
True
*Bound.Scope> xs 
Scope [B (),F "bb"]
*Bound.Scope> toScope (fromScope xs) 
Scope [B (),F "b",F "b"]
```
Lift1 can't be removed instead, because we need `C (f a)` instances with only `C1 f` in the context.