 hmm, are these necessary?  I think hook evaluation uses an evaluate
 anyway...
 what uses this?  There seem to be far too many functions that do this.
 Ah, these two appear to be parser functions.  can_ is in the wrong
 place, and pick_up_ really should just be a synonym, or should be
 handled whereever direct_get_obj() is (vsupport, I think)
