encode trait lifetime params in metadata to allow cross-crate usage