- mapF = tr (\(FIELD a)->a) FIELD
-gopt{|Maybe|} (Positionals [ReqArg f d]) = Positionals
- [OptArg (\ms _ ->case ms of
- Nothing = Ok Nothing
- // Is this necessary
- Just s = case f s undef of
- Ok a = Ok (Just a)
- Error e = Error e
- ) d]
-gopt{|PAIR|} fx fg = case (fx, fg) of
- (Options as, Options bs) = Options $
- [Option s r (topair (\(PAIR l r)->l) (\(PAIR _ r) l->PAIR l r) f) d\\(Option s r f d)<-as]
- ++ [Option s r (topair (\(PAIR l r)->r) (\(PAIR l _) r->PAIR l r) f) d\\(Option s r f d)<-bs]
-topair fr to (NoArg fa) = NoArg \a->case fa (fr a) of
- Ok na = Ok (to a na)
- Error e = Error e
-topair fr to (ReqArg fa d) = ReqArg (\s a->case fa s (fr a) of
- Ok na = Ok (to a na)
- Error e = Error e) d
-topair fr to (OptArg fa d) = OptArg (\s a->case fa s (fr a) of
- Ok na = Ok (to a na)
- Error e = Error e) d
-
+ mapF :: ((m a) -> m (FIELD a)) | bifmap m
+ mapF = bifmap (\(FIELD a)->a) FIELD
+//gopt{|Maybe|} (Positionals [ReqArg f d]) = Positionals
+// [OptArg (\ms _ ->case ms of
+// Nothing = Ok Nothing
+// // Is this necessary
+// Just s = case f s undef of
+// Ok a = Ok (Just a)
+// Error e = Error e
+// ) d]
+//gopt{|PAIR|} fx fg = case (fx, fg) of
+// (Options as, Options bs) = Options $
+// [Option s r (topair (\(PAIR l r)->l) (\(PAIR _ r) l->PAIR l r) f) d\\(Option s r f d)<-as]
+// ++ [Option s r (topair (\(PAIR l r)->r) (\(PAIR l _) r->PAIR l r) f) d\\(Option s r f d)<-bs]
+//topair fr to (NoArg fa) = NoArg \a->case fa (fr a) of
+// Ok na = Ok (to a na)
+// Error e = Error e
+//topair fr to (ReqArg fa d) = ReqArg (\s a->case fa s (fr a) of
+// Ok na = Ok (to a na)
+// Error e = Error e) d
+//topair fr to (OptArg fa d) = OptArg (\s a->case fa s (fr a) of
+// Ok na = Ok (to a na)
+// Error e = Error e) d
+//