Great to see your recent work on the language. Very clean. You said it would change so here goes..
It would be very cool to get rid of this: Balance.save(to)
and this Balance.save(from)
. The contract would need to be transactional to some extent so a failed assertion or error would roll all the changes.
This is motivating me to add your text format in a struct serialization parser. Using text in addition to json is a very easy enhancement.