Some use of difference list instead of list
Seriously optimized bezier decomposition
Same trick for cubic bezier curve.
Switching from Free to church encoded free monad.