For the first example used:
public void addBar(Foo foo){
Bar bar = new Bar("baz");
foo.setBar(bar);
dao.update(foo);
dao.save(bar);
}
What would the functional version look like?