DKF: This is an idea I came up with at the 2018 Tcl Conference:
% dict filter [tcl::unsupported::getbytecode proc parray] key initiallinenumber sourcefile initiallinenumber 11 sourcefile /home/dkf/develop/tcl/library/parray.tcl
It uses the fact that getbytecode accesses into the code origin system (which is otherwise only exposed through info frame, and which is horrible internally) and then dict filters the result. (It reports the line number and file name of the _first_ line of the procedure. Dynamically-produced procedures just lack the info.)
I think karll's desire for this functionality to be better exposed will be practical to satisfy.