WIP - attempting to add optionals and mutability to the language