Can't handle also `def`. For now I would maintain strict types where possible, because I am not comfortable with all this freedom yet :D