Prelude for type-level programming