I'd like to know if spec can be used to constrain argument and return types on a protocol similar to how fdef works for functions.
The best lead I've found so far is a section called protocols in the api documentation, but it comes with little explanation.