Frunk provides developers with a number of functional programming tools like HList, Coproduct, Generic, LabelledGeneric, Validated, Monoid, Semigroup and friends.
// Makes sure that the hlist macros in frunk_core are reexported by frunk
#[macro_use]externcrate frunk;// NOTE: Deliberately no "extern crate frunk_core;"
#[test]fnuse_frunk_macros(){let h1 =hlist![1i32,2u32];let h2 =hlist!["cool",...h1];lethlist_pat![a,...bs]: Hlist![&'staticstr,i32,...Hlist![u32]]= h2;assert_eq!(a,"cool");assert_eq!(bs, h1);}