How do you feel about changing this to `value.is_a? Proc`? It's unlikely that users will assign an object that responds to `call` accidentally, but it'd be very unexpected behavior. A contrived example would be defaulting a middleware class as a value. In console, it looks like `Proc.new`, `proc {...}` and `lambda {...}` all return things that are `Proc` objects.