I would probably do an indentation check for every `Scope`. This would allow all the Python 2 Syntax to be rendered correctly (Python 3 is more strict). That's a simple change with a boolean flag for every scope (not a lot of space wasted). This doesn't account for indentation errors in the code, but then again i don't feel we have to...

e.g. it's possible to mix spaces and tabs like this:

```
>>> def foo():
...  def bar():  # here we have one space of indentation.
...  	return 1  # here we have 1 space and then one tab of indentation.
...  return bar()
```

There are other ways of doing it, but most of them are either too complicated (like a "post"-get_code analysis and change of spaces to tabs) or too memory consuming (store it for every `start_pos`). We could also just check for the first indentation type, since
`"Python 3 disallows mixing the use of tabs and spaces for indentation."`. It's probably even easier. We could do that first. People mixing tabs and spaces aren't normal anyway and they should be trained not to do that. :)