Functions

We also have to check the explicit predicates declared on the type.

Infer predicates for the items in the crate.