anchor.diff:    OX  = opt("-x"),
     AN  = arg("N"),
     AM  = arg("M"),
  -  A1  = arg(undefined, 1),
  -  A2  = arg(undefined, 2),
  +  A1  = arg(1),
  +  A2  = arg(2),
     AN1 = arg("N", 1),
     AM2 = arg("M", 2),
     [ ?_assertEqual({true , []  , [OA]}, match(either([OA, OB])    , [OA]))
  
positive.code: 
  match_command_test_() ->
    C  = cmd("c"),
    A  = arg(undefined, "c"),
    CT = cmd("c", true),
    OX = opt("-x"),
    OA = opt("-a"),
    [ ?_assertEqual({true , []      , [CT]}, match(C, [A]))
    , ?_assertEqual({false, [OX]    , []}  , match(C, [OX]))
    , ?_assertEqual({true , [OX, OA], [CT]}, match(C, [OX, OA, A]))
      %% Either...
    ].
  
  
negative.code: match_argument_test_() ->
    A  = arg("V"),
    AV = arg("V", 9),
    V  = arg(9),
    V0 = arg(0),
    OX = opt("-x"),
    OA = opt("-a"),
    [ ?_assertEqual({true , []      , [AV]}, match(A, [AV]))
  