Fix up tests
Generalize implicits when we leave an implicit function declaration
Add forwards propagation over implicit function defintions
Update implicits tests