Introducing ArgumentMarshaler for bool
StringArgumentMarshaler
IntArgumentMarshaler
Elimination of SetBool
Elimination of GetBool
Pushed down Set/GetString
Pushed down Get/SetInt with error handling
Introducing one marshallers collection to rule them all
New Marshallers are now used in Set* methods (improved error handling)
GetBoolean when argument not present throws ArgsException

+ elimination of specialized collection for bools.
GetInt uses common marshalers collection + checks for wrong usage
One marshalers collection
CurrentArgument as enumerator - first step needed for elimination of Set*Arg methods
Elimination of SetBooleanArg
Typo
Moved most of error interpretation related code into ArgsException
SetIntArg logic moved into IntArgumentMarshaler
SetStringArg logic moved into StringArgumentMarshaler - now I can use common interface
Moved each marshaler into own file
Setting ErrorArgumentId for better diagnostics