
func (t {{.Name}}Type) ValueFromTerraform(ctx context.Context, in tftypes.Value) (attr.Value, error) {
attrValue, err := t.SetType.ValueFromTerraform(ctx, in)

if err != nil {
return nil, err
}

listValue, ok := attrValue.(basetypes.SetValue)

if !ok {
return nil, fmt.Errorf("unexpected value type of %T", attrValue)
}

listValuable, diags := t.ValueFromSet(ctx, listValue)

if diags.HasError() {
return nil, fmt.Errorf("unexpected error converting SetValue to SetValuable: %v", diags)
}

return listValuable, nil
}