After giving it some thought, I decided
1) It's intuitive to expect the provided example to work.
2) In those cases that will not work due to prior evaluation of the argument, polling will not change the outcome but simply cause a bit of overhead.
3) It's simplest to poll in all cases where a polling interval is provided (i.e. do what the user said to do).
4) In future, it might be useful to give a warning when the actual value is a simple type.
Charlie
After giving it some thought, I decided
1) It's intuitive to expect the provided example to work.
2) In those cases that will not work due to prior evaluation of the argument, polling will not change the outcome but simply cause a bit of overhead.
3) It's simplest to poll in all cases where a polling interval is provided (i.e. do what the user said to do).
4) In future, it might be useful to give a warning when the actual value is a simple type.
Charlie