inline syntax for function arguments, they are internally represented as "block
arguments" to the first block in the region.
+Only dialect attribute names may be specified in the attribute dictionaries for
+function arguments, results, or the function itself.
+
Examples:
```mlir {.mlir}
attributes {fruit: "banana"} {
return %x, %x: i64, i64
}
+
+// A function with an argument attribute
+func @example_fn_arg(%x: i32 {swift.self = unit})
+
+// A function with a result attribute
+func @example_fn_result() -> (f64 {dialectName.attrName = 0 : i64})
+
+// A function with an attribute
+func @example_fn_attr() attributes {dialectName.attrName = false}
```
## Blocks
```mlir {.mlir}
// A unit attribute defined with the `unit` value specifier.
-func @verbose_form(i1) attributes {unitAttr = unit}
+func @verbose_form(i1) attributes {dialectName.unitAttr = unit}
// A unit attribute can also be defined without the value specifier.
-func @simple_form(i1) attributes {unitAttr}
+func @simple_form(i1) attributes {dialectName.unitAttr}
```