import public Collie.Options.Domain
import public Collie.Options.Usual
import public Collie.Modifiers
import public Data.Record
import public Data.Record.SmartConstructors
import public Data.Vect
import public Data.DPair
import public Data.Magma
import public Syntax.WithProof
import public Decidable.Decidable
import public Decidable.Decidable.Extra1record Command : String -> Type.description : Command name -> Stringdescription : Command name -> String.subcommands : Command name -> Fields Commandsubcommands : Command name -> Fields Command.modifiers : Command name -> Fields Modifiermodifiers : Command name -> Fields Modifier.arguments : Command name -> Argumentsarguments : Command name -> Argumentsbasic : String -> Arguments -> Command cmdNamedata Any : ((0 nm : String) -> Command nm -> Type) -> Command nm -> Typemap : ((cmd : Command nm) -> p nm cmd -> q nm cmd) -> Any p cmd -> Any q cmdtraverse : Applicative m => ((cmd : Command nm) -> p nm cmd -> m (q nm cmd)) -> Any p cmd -> m (Any q cmd)record ParsedCommandT : (Type -> Type) -> (Type -> Type) -> (0 nm : String) -> Command nm -> TypeMkParsedCommandT : ParsedModifiersT f g (cmd .modifiers) -> ParsedArgumentsT g (cmd .arguments) -> ParsedCommandT f g nm cmd.arguments : ParsedCommandT f g nm cmd -> ParsedArgumentsT g (cmd .arguments).modifiers : ParsedCommandT f g nm cmd -> ParsedModifiersT f g (cmd .modifiers).modifiers : ParsedCommandT f g nm cmd -> ParsedModifiersT f g (cmd .modifiers)modifiers : ParsedCommandT f g nm cmd -> ParsedModifiersT f g (cmd .modifiers).arguments : ParsedCommandT f g nm cmd -> ParsedArgumentsT g (cmd .arguments)arguments : ParsedCommandT f g nm cmd -> ParsedArgumentsT g (cmd .arguments)record ParsedCommand : (0 nm : String) -> Command nm -> TypeMkParsedCommand : ParsedModifiers (cmd .modifiers) -> ParsedArguments (cmd .arguments) -> ParsedCommand nm cmd.arguments : ParsedCommand nm cmd -> ParsedArguments (cmd .arguments).modifiers : ParsedCommand nm cmd -> ParsedModifiers (cmd .modifiers).modifiers : ParsedCommand nm cmd -> ParsedModifiers (cmd .modifiers)modifiers : ParsedCommand nm cmd -> ParsedModifiers (cmd .modifiers).arguments : ParsedCommand nm cmd -> ParsedArguments (cmd .arguments)arguments : ParsedCommand nm cmd -> ParsedArguments (cmd .arguments)defaulting : ParsedCommandT Maybe f nm cmd -> ParsedCommandT id f nm cmdfinalising : ParsedCommandT Maybe Maybe nm cmd -> Error (ParsedCommand nm cmd)ParseTreeT : (Type -> Type) -> (Type -> Type) -> Command nm -> TypeParseTree : Command nm -> Typedefaulting : ParseTreeT Maybe f cmd -> ParseTreeT id f cmdfinalising : ParseTreeT Maybe Maybe cmd -> Error (ParseTree cmd)lookup : Any p c -> (nm : String ** Command nm).update : ParsedArgumentsT Maybe arg -> String -> Error (ParsedArgumentsT Maybe arg).parse : (args : Arguments) -> ParsedArgumentsT Maybe args -> List String -> Error (ParsedArgumentsT Maybe args)initParsedCommand : ParsedCommandT Maybe Maybe nm cmd