Wip sip23 √

Right, exactly my point: if it's a `val`, it will probably capture the wrong thing -- we need to be precise about exactly where capture happens.