A reimplementation of Unbound using GHC Generics.