Simplified 'add' code, that has a pitfall: more object copies... but it's cleaner