//Uses the same exact function (`Square`) with 2 different definitions //of an inner function (`Mult`), without using import parameters. module Examples>Import import Import>Math>Square{Mult, Square} import Import>Math>Vector{Vec3, Dot, Cross} SqDot[a]. SqCross[a]. MultWrap[val, func]. MultDot[]. MultCross[]. Res[dotProduct, crossProduct]. VecA[]. SqDot[a]: Square[MultWrap[a, func: MultDot[]]] SqCross[a]: Square[MultWrap[a, func: MultCross[]]] Mult[ left: MultWrap[val, func: MultDot[]] right: MultWrap[val, func: MultDot[]] ]: Dot[left>val, right>val] Mult[ left: MultWrap[val, func: MultCross[]] right: MultWrap[val, func: MultCross[]] ]: Cross[left>val, right>val] VecA[]: Vec3[x: 5, y: 4, z: 10] Res[ dotProduct: SqDot[VecA[]] crossProduct: SqCross[VecA[]] ]?