file renamed
these family of functions now takes an anaphoric function for the .by argument
.try_function used to replace common pattern throughout code
function echo added