# Test selection with 'or' default
let
  attrs = {
    a = 1;
    b = 2;
  };
in {
  # Attribute exists - should use value from attrs
  has_attr = attrs.a or 999;

  # Attribute doesn't exist - should use default
  missing_attr = attrs.c or 100;

  # Nested default expression
  nested = attrs.d or (attrs.a + attrs.b);

  # Default with literal
  with_string = attrs.name or "default_name";
}
