@@ -16,7 +16,7 @@ data Doc : Type where
1616
1717 Cat : (x : Doc) -> (y : Doc) -> Doc
1818 Nest : (lvl : Int) -> (x : Doc) -> Doc
19− Union : (x : Doc) -> (y : Doc) -> Doc
19+ Union : (x : Doc) -> (y : Lazy Doc) -> Doc
2020
2121 Column : (f : Int -> Doc) -> Doc
2222 Nesting : (f : Int -> Doc) -> Doc
@@ -162,11 +162,12 @@ render rfrac w doc = best w 0 0 doc (const Empty)
162162 nicest : (lvl : Int)
163163 -> (col : Int)
164164 -> (x : PrettyDoc)
165− -> (y : PrettyDoc)
165+ -> (y : Lazy PrettyDoc)
166166 -> PrettyDoc
167167 nicest n k x y =
168− let width = min (w - k) (rwidth - k + n)
169− in if fits width x then x else y
168+ if fits (min (w - k) (rwidth - k + n)) x
169+ then x
170+ else y
170171
171172 best : (lvl : Int)
172173 -> (col : Int)