`Proc#curry` returns a curried version of a proc with a declared arity. Calling the curried proc with fewer arguments returns another proc; once enough arguments are provided to match the arity, the underlying proc is invoked. Used to call procs with arguments via square-bracket chains like `proc.curry[a][b]` (single square brackets don't suffice).