B-Trees with GADTs A simple B-Tree implementation in Haskell, with insertion and deletion, using a GADT to enforce the structural envariant. This is the code behind my screencast.