This is what happened in Ireland when new taxes on sugary drinks came in. Drinks that came in 2L bottles now came in 1.75L bottles at the same price. The diet versions with no sugar remained in 2L bottles. Companies like Coke are now only making variants like vanilla or cherry flavours using their diet or zero sugar products
Not sure that many OSS projects are going to be interested in merging a patch where a conversation with the patch author for review/feedback can't happen
Could you have your "get" handler do its thing and have it forward on the arguments it received to the "apply" handler if necessary with an extra flag argument and vice versa?
This is what Stackage(https://www.stackage.org/) LTS releases are in the Haskell world. A compiler and a large subset of the Hackage repository known to compile together and pass tests.
You should be able to write your own named implementation of Cast and explicitly use it when calling cast to have different casts with different semantics http://docs.idris-lang.org/en/latest/tutorial/interfaces.htm.... But yeah, you'd still have to see what the standard library implementation does
The category theory idea of a morphism is more abstract than a function. If functions deal with domains and codomains then certainly morphisms need new words to deal with the abstractions of those ideas that are specific to functions.
Also worth checking out is this https://www.youtube.com/watch?v=uR_VzYxvbxg conference talk by Simon Peyton Jones discussing the basic constructs of GHC core and how they affect inlining and optimisation
The screenshot shows what looks like the emacs mode which actually just masks the ASCII you type with the unicode characters to make it look nice. In practice you're just writing plain ASCII https://github.com/houli/verification/blob/master/strings3.d...