Handle singular collection names like `have(n).item`

Related to #18.
Handle collection accessors with arguments like `have(n).errors_on(...)`

Related to #18.