optimize: compose before closure. Closes #12