Higher-kinded types in Rust