execute' :: (Input (Exp a) , Output (Exp b),Sources' (GArr (Exp a))) => 
           ExecMode -> 
               (GArr (Exp a) -> GPU (GArr (Exp b))) -> 
                   [Exp a] -> IO [Exp b] 
execute' _ _ []   = return []
execute' :: (Input (Exp a) , Output (Exp b),Sources' (GArr (Exp a))) => 
           ExecMode -> 
               (GArr (Exp a) -> GPU (GArr (Exp b))) -> 
                   [Exp a] -> IO [Exp b]
execute' _ _ []   = return []
execute' _ _ []   = return []