def assign_argument(part, args = {})
			## Not argument
			return part unless part.arg?
			## Not required argument
			return args.delete(part[2..-1].to_sym) if part.opt_arg?

			## Required argument
			param = args.delete(part[1..-1].to_sym)
			## Required argument is nil
			error = Errors::ArgumentNotAssignedError.new(@path, part)
			raise error if param.nil?

			## All is ok
			param
		end
def assign_argument(part, args = {})
			## Not argument
			return part unless part.arg?
			## Not required argument
			return args.delete(part[2..-1].to_sym) if part.opt_arg?

			## Required argument
			param = args.delete(part[1..-1].to_sym)
			## Required argument is nil
			error = Errors::ArgumentNotAssignedError.new(@path, part)
			raise error if param.nil?

			## All is ok
			param
		end
Helpers for `assign_arguments`