can we switch something to pass-by-move to get around this?