This is a question just out of curiosity: when you implement a workflow factory, you don’t do it as an interface implementation, but rather just make sure the function signatures of the monad functions match. Is there a design reason for this?
Share
For one thing, the lack of higher-kinded types in .NET means that you can’t give the methods useful signatures. For instance,
ListBuilder.Returnshould have type't -> 't list, whileOptionBuilder.Returnshould have type't -> 't option. There’s no way to create an interface with aReturnmethod that has a signature supporting both of these methods.