List is a monad, does that mean i can create a list with do notation?

My intuition led me to believe this would work:

main = do
  x <- return $ do
    1
    2
    3
  print (x :: [Int])


However it didn't. Is this possible?