Sure about variables holding only tensors.
I was thinking more about allowing functions to accept arguments if they implement iter returning Variables. That would allow hacking up lists of variables, dicts with variables (or even custom objects holding variables) and passing them to autograd functions.