Initial commit

Currently just implementing the first couple of interpreters with type variables