The previous INLINABLE pragmas were insufficient to fully specialize functions. Add a bunch more. I believe they now do the job they were meant to.
Change the way we check for very short queues in lbalance and rbalance to avoid redundant size comparisons in the non-short case.
Make the fields of Play strict. I doubt this makes any practical difference, since tourView is INLINE, but in fact the fields are always in WHNF, so we might as well make that explicitly clear.
The previous
INLINABLE
pragmas were insufficient to fully specialize functions. Add a bunch more. I believe they now do the job they were meant to.Change the way we check for very short queues in
lbalance
andrbalance
to avoid redundant size comparisons in the non-short case.Make the fields of
Play
strict. I doubt this makes any practical difference, sincetourView
isINLINE
, but in fact the fields are always in WHNF, so we might as well make that explicitly clear.