Modules

create updated copies of immutable objects
create updated copies of truly immutable objects