As for beautiful printing: the following code is very sketchy, which is based on @ Mr.Wizard's answer, to show that a few simple rules can significantly help improve code readability:
Internal`InheritedBlock[{RunThrough}, Unprotect[RunThrough]; ClearAttributes[RunThrough, ReadProtected]; Block[{$ContextPath = Append[$ContextPath, "System`Dump`"]}, With[{boxes = ToBoxes@ DownValues[RunThrough]}, CellPrint[Cell[BoxData[#], "Input"]] &[ boxes /. f_[left___, "\[RuleDelayed]", right___] :> f[left, "\[RuleDelayed]", "\n", right] //. { RowBox[{left___, ";", next : Except["\n"], right___}] :> RowBox[{left, ";", "\n", "\t", next, right}], RowBox[{sc : ("Block" | "Module" | "With"), "[", RowBox[{vars_, ",", body_}], "]"}] :> RowBox[{sc, "[", RowBox[{vars, ",", "\n\t", body}], "]"}] }]]]]
This is certainly not a general solution (in particular, it will not work on a deeply nested functional code without many separate operators), but I am sure that it can be improved and generalized without any problems to cover many cases of interest.