Add FieldBindingStrategy
Remove variance from O in ParamReader

This was causing type inference to Any.

Also added a bunch of type tests to specs to prevent this from happening
again.