When generating API stubs with the scaffold utility using, e.g., `python -m localstack.aws.scaffold sns`,
the scaffold creates method names from operation names, which are ugly when acronyms (subsequent uppercase characters that belong together).

Example:
`CreateSMSSandboxPhoneNumber` -> `create_s_m_s_sandbox_phone_number`

it would be nicer to have `create_sms_sandbox_phone_number`

This is a limitation of this method: https://github.com/localstack/localstack/blob/1888e66b85d7e6a8ee457bc7a732984fcf7aa830/localstack/utils/common.py#L978-L979
"""Dummy object that can be arbitrarily accessed - any attributes, as a callable, item assignment, ..."""
    def __init__(self, name=None):
        self.name = name
    def __getattr__(self, name, *args, **kwargs):
        return ArbitraryAccessObj(name)
    def __call__(self, *args, **kwargs):
        if self.name in ["items", "keys", "values"] and not args and not kwargs:
            return []
        return ArbitraryAccessObj()
    def __getitem__(self, *args, **kwargs):
        return ArbitraryAccessObj()
    def __setitem__(self, *args, **kwargs):
        return ArbitraryAccessObj()
class HashableList(list):
    """Hashable list class that can be used with dicts or hashsets."""
    def __hash__(self):
        result = 0
        for i in self:
            result += hash(i)
        return result
class FileMappedDocument(dict):