funlib
macro_rules! derive_hkt { ($t:ident) => { ... }; }
Derive HKT macro to create Higer Kinded Types