If we build everything right, only library maintainers should really ever feel the borrow checker.
For example, I've been experimenting with a new primitive that creates a sort of Agent/GoFunc thing:
'count-channel
('sum let 'msg let sum 1 plus) server
def
0 count-channel
1 send
1 send
1 send
recv 3 eq
free
But I'm really not sure where this whole thing is headed yet :)