function rehypeLazyCss(styles) {
  /**
   * @param {Root} tree
   *   Styles.
   * @returns {undefined}
   *   Nothing.
   */
  return function (tree) {
    const head = select('head', tree)
    assert(head)
    /** @type {Array<Element>} */
    const enabled = []
    /** @type {Array<Element>} */
    const disabled = []

    let index = -1
    while (++index < styles.length) {
      const properties = styles[index]
      enabled.push(
        h('link', {
          ...structuredClone(properties),
          as: 'style',
          onLoad: "this.onload=undefined;this.rel='stylesheet'",
          rel: 'preload'
        })
      )
      disabled.push(
        h('link', {...structuredClone(properties), rel: 'stylesheet'})
      )
    }

    head.children.push(...enabled)

    if (disabled.length > 0) {
      head.children.push(h('noscript', disabled))
    }
  }
}
@param {ReadonlyArray<Readonly<Properties>>} styles
  Styles.
@returns
  Transform.