make some stuff work

it's confused about whether it wants `IRichInput` to be the thing that is provided or implemented, so making it do both makes the tests pass