If you're writing Python, write Python not Haskell. C#, don't try to do Erlang. Basically, write to the language you're working in and not to something you're not.
Also, if you think a deep domain based algorithm is wrong, making it so that you can remove pieces of it piecemeal is the wrong choice. Point out the flaw, bring it to the people in charge and let them handle it.