ccc: use ArgumentError instead of passing around arg_parser