Variable#set can take a function for vals. Fix #77