> For the complete documentation index, see [llms.txt](https://jazz-lang.gitbook.io/jazz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jazz-lang.gitbook.io/jazz/structures.md).

# Structures

New structure type can be declared using `struct` keyword:

```csharp
struct Point<T> { // structure with generic argument
    var x: T;
    var y: T;
    init(x: T,y: T) {
        this.x = x;
        this.y = y;
    }
}
```

You can implement interfaces in structure declaration:

```fsharp
struct Foo: Display {
    fun format(stream: mut String*) { // `format` is a member of `Display` interface
        stream.write("Foo");
    }
}
```
