Use proof search, not reflection
Fix erasure warnings, make Handler total