Play with names
Make arity 3 a global constant
Remove @fillArgList; implement @emptyArgList in a capacity-agnostic way; rename @emptyArgList to @emptyInputs
@S has the correct signature; create @getItem method for dereferencing pointers in input list