Container = 
                    Component & type { 
                    ...added methods below... }
                    | Method signature | Return type | 
|---|---|
| 
                            append(
                            component:
                            Component) | 
                            Done | 
| Add a component to the end of the container. | |
| 
                            arrangeHorizontal | 
                            Done | 
| Arrange the contents of this container along the horizontal axis. Components which exceed the width of the container will wrap around. | |
| 
                            arrangeVertical | 
                            Done | 
| Arrange the contents of this container along the vertical axis. Components which exceed the height of the container will wrap around. | |
| 
                            at(
                            index:
                            Number) | 
                            Component | 
| Retrieve the component at the given index. | |
| 
                            at(
                            index:
                            Number)
                            put(
                            component:
                            Component) | 
                            Done | 
| Put the given component at the given index. | |
| 
                            do(
                            f:
                            Procedure<
                            Component>) | 
                            Done | 
| Perform an action for every component inside this container. | |
| 
                            prepend(
                            component:
                            Component) | 
                            Done | 
| Add a component to the start of the container. | |
| 
                            size | 
                            Number | 
| The number of components inside this container. | |