have meaningful replacement semantics