i think ASI only messes with return if it doesn't encounter an expression immediately following `return`.