Open
Description
Right now we have Anything
and NonVoid
as in sus::fn::FnMut<Anything()>
but it's very common to constrain on other return types like "returns an Option". So we should be able to write a type IsOption
that the FnMut concept can test against without saying it is that type, but that it accepts that type.
Then replace a ton of invoke_result_t && IsOption::value constraints and others like it.