def simple_merge_handler(previous_props, next_props):
    """Merge properties if the keys on old and new are disjoint.

    Return a mapping containing the values from both old and new properties,
    but only if there is no key that exists in both.
    """
    for name, value in previous_props.items():
        if name in next_props and value != next_props[name]:
            raise ValueError(
                'Cannot merge - {0} changed (old value: {1},  new value: {2})'
                .format(name, value, next_props[name]))
        if name not in next_props:
            next_props[name] = value
    return next_props
