[Complete babel noob here]

Following the babel doc http://orgmode.org/worg/org-contrib/babel/intro.html#library-of-babel

I wrote this

* Head
#+name: ppp :results value
#+begin_src python
import time
print("Hello, today's date is %s" % time.ctime())
print('Two plus two is')
return 2 + 2
#+end_src

Hit C-c C-c

and got a new block

#+RESULTS:
: 4


I am mystified!
In python a top level return gives a syntax error.
Here it works. Is some secret function being created?

Also the results changed to output does not change the behavior