Namespaces

These are necessary for many things.

Type namespaces are one area where these are necessary.

Currently, without namespaces you cannot do things like my_struct::new()