def METHOD_NAME(local_lazy_attributes, l_module, l_data: ITKModuleInfo):
    """
    Set up lazy attribute relationships
    """
    for template_feature in l_data._template_feature_tuples:
        if template_feature._class_in_module:
            # insert in front front if in library
            local_lazy_attributes.setdefault(
                template_feature._py_class_name, []
            ).insert(0, l_module)
        else:
            # append to end
            local_lazy_attributes.setdefault(
                template_feature._py_class_name, []
            ).append(l_module)
    for function in l_data._snake_case_functions:
        # snake case always appended to end
        local_lazy_attributes.setdefault(function, []).append(l_module)
    # Remove duplicates in attributes, preserving only the first
    def _dedup(seq):
        seen = _builtin_set()
        seen_add = seen.add
        return [x for x in seq if not (x in seen or seen_add(x))]
    for k, v in local_lazy_attributes.items():
        local_lazy_attributes[k] = _dedup(v)