The user shouldn't have to write out their own reflect::library! description of extern crate std. A complete definition of everything in std should be built in to the reflect crate because practically all users will need it.
We still need to keep reflect::library! so that users can provide definitions of crates other than std, for example if serde_derive were implemented using reflect then it would need to contain a reflect::library! providing all the relevant signatures from the serde crate.