Functional injection writer! Still needs some adjustments to how it handles injections, but this version works so I'm saving it.