`module Interval : sig ... end`
`module Measurements : sig ... end`
`module type Key : sig ... end`
`module type S : sig ... end`

`Partial_render_list` provides common functionality for partially rendering large (e.g 10_000 rows) lists or tables. It allows apps to measure and cache the height of each row and incrementally compute which rows to show while scrolling. It puts spacers above and below the viewport so that the list element remains the same height with only as many rendered rows as necessary to fill the viewport. This approach allows high data change rates because it doesn't change the dom for rows that are not in view.

`module type Partial_render_list : sig ... end`