Abstraction for displaying text
Putting characters with attributes at specific screen locations
type Attr = ... xRange = Range 0 79 yRange = Range 0 24 type Column = Σ Word32 (InRange xRange) type Row = Σ Word32 (InRange yRange) putac ∈ Column → Row → Attr → Char → H ()
Outputting text (scrolling if necessary)
putString ∈ String → H ()
The code that needs to deal with the extra safety constraints is small and localized!