def merge(e1, e2)
      checked_merge(
        assert_type('The first element of the merge', value_t, e1),
        assert_type('The second element of the merge', value_t, e2))
    end
def merge(e1, e2)
      checked_merge(
        assert_type('The first element of the merge', value_t, e1),
        assert_type('The second element of the merge', value_t, e2))
    end
Create a new instance of this strategy configured with the given _options_
 @param merge_options [Hash<String,Object>] Merge options
 Merges the elements of _e1_ and _e2_ according to the rules of this strategy and options given when this
 instance was created

 @param e1 [Object] The first element
 @param e2 [Object] The second element
 @return [Object] The result of the merge