return {
        empty: () => new IntervalTree(empty(M)),
        from: (iterable) => new IntervalTree(empty(M)).insertValues(iterable),
    };