Question: I'm trying to get my navigation bar to extend across the whole container of the 16 Column Grid . In Chrome is doesn't extend all the way across. In Firefox it shows up very weird. Which is telling me that I am breaking the grid some how. Can someone please help with this? Here is my code: 

```
<div class="container_16" id="container">
    <div class="grid_16" id="header image">
        <img src="img/condley-employees.png" />
    </div><!-- end of header image -->
    <div class="clear"></div>

    <div class="container_16 clearfix" id="main-nav" align="center">
        <ul>
            <li><a href="#">HR</a></li>
            <li><a href="#">Departments</a></li>
            <li><a href="#">Employee Fun</a></li>
            <li><a href="#">Marketing</a></li>
            <li><a href="#">Calenders</a></li>
            <li><a href="#">Misc.</a></li>
        </ul>
    </div><!-- end of navigation -->

```

CSS: 

```
#main-nav ul {
    margin: 3px;
    padding: 0;
    list-style: none;
    width: 940px;
}

#main-nav li { 
    display: inline;
}

#main-nav li a { 
    text-decoration: none;
    padding: 5px 0;
    width: 150px;
    background: #006699;
    color: #eee;
    float: left;
    text-align: center;
    border-left: 1px solid #fff;
}

```

Answer: 
This is optional typing in action.

```dart
var x; // same as List<String> x
List<String> y;

main() {
  x = [1,2,3,4];
  y = x; // valid
  x = y; // valid
  print(x); // [1,2,3,4]
  print(y); // [1,2,3,4]
}

```

Whether you specify `List<String>` or `var`, your code will execute the same. The type annotations (`List<String>`) are used by the tools to verify your code.

A good article to read on the dartlang site is one about [optional types](http://www.dartlang.org/articles/optional-types/).

**Edit:** Actually, this is also an interesting point about Lists. If you initialize a list using a literal list( eg, `[]`), then you are actually creating a `List()`, eg:

```dart
main() {
  var x = new List(); 
  var y = [];
  print(x is List); // true
  print(y is List); // true
}

```

If, however, you want a typed list using generics, you must use the constructor syntax, eg:

```dart
main() {
  var x = new List<String>();
  print(x is List); // true
  print(x is List<String>); // true
  print(x is List<num>); // false
}

```
Dart types are optional not static. So on runtime all type annonations is essentially replaced with `var`