export type BasicModuleCalculus<
ARGS extends object,
HYPERARGS extends object,
RESULT extends any,
DEPENDS extends Context.TagClass<any,any,any> = never //but it not works with class defined with Context.Tag
> = ({args,hyperParameters}:{args:ARGS,hyperParameters:HYPERARGS}) => Effect.Effect<RESULT,any,DEPENDS>
export type BasicModuleCalculus<
ARGS extends object,
HYPERARGS extends object,
RESULT extends any,
DEPENDS extends Context.TagClass<any,any,any> = never //but it not works with class defined with Context.Tag
> = ({args,hyperParameters}:{args:ARGS,hyperParameters:HYPERARGS}) => Effect.Effect<RESULT,any,DEPENDS>