I also took this opportunity to come up with a decent way to give feedback that indicates a not found error.

This is the class that I wrote for the system;

Twelve; D;R;Match { D←0⍴0 R←0⍴0 ∇X←Match N X←D<2×+/0=(⍳⌊N*0.5)|N ∇ ∇Twelve A (D R)←A ∇ ∇X←Solve;Y;⎕IO ⎕IO←1 X←(⊃(Y,(⊂'Not found'))[(Match¨Y)⍳1])⊣Y←+⍳R ∇ }

And this is my function that uses it for Problem #12:

∇R←PETWELVE;T ⍝ What is the value of the first triangle number ⍝ to have over five hundred divisors? T←⎕NEW 'Twelve' 500 13000 R←T.Solve ∇