Type-Level Binary Search Tree in Haskell