I got an obvious feature request for Method::Signatures to make it work for normal functions. I haven't stoked mst's brain with enough drugs yet to have Devel::Declare override sub, so it would have to use another name. What would it be?
"def", "fun", "func", "function", "subroutine", "coke" (ya know, fish for corporate sponsorship)?
A tangentially related problem is once we do know how to override "sub" what is the syntax to use signatures and prototypes together? One answer is "don't", leave "sub" as is and use a new keyword. But as awful as prototypes are, they have their uses.