: ?supremum ( seq -- n/f )
sift [ f ] [ supremum ] if-empty ;
-: max-ascent ( seq -- n )
+: max-ascent ( seq -- n/f )
[ ascent>> ] map ?supremum ;
-: max-cap-height ( seq -- n )
+: max-cap-height ( seq -- n/f )
[ cap-height>> ] map ?supremum ;
-: max-descent ( seq -- n )
+: max-descent ( seq -- n/f )
[ descent>> ] map ?supremum ;
-: max-graphics-height ( seq -- y )
+: max-graphics-height ( seq -- n )
[ ascent>> ] reject [ height>> ] map ?supremum 0 or ;
:: combine-metrics ( graphics-height ascent descent cap-height -- ascent' descent' )