This document discusses writing NetBSD sound drivers in Haskell. It describes a demo where a NetBSD audio driver that plays sound has its interrupt handler rewritten in Haskell. The interrupt handler uses garbage collection, which can occur within the interrupt context. It also discusses issues with C kernels like buffer overruns and weak typing, and how the Metasepi project aims to build an OS with strong typing using a functional language like Haskell. It presents context-local heaps as a way to achieve reentrancy in Haskell by isolating contexts to local garbage collected heaps.