The local variables here add nothing to comprehensibility. I'd rather read this implementation:

```haskell
t_splitLookup :: (CritBitKey k, Ord k) => k -> KV k -> Bool
t_splitLookup k (KV kvs) =
    fixup C.toList . C.splitLookup k . C.fromList $ kvs == 
    fixup Map.toList . Map.splitLookup k . Map.fromList $ kvs
  where
    fixup f (l,v,g) = (f l, v, f g)
```