break on functors. Add strengths to functors at compile time, and Make functors pass their strengths as they propagate their output.