The semantics is a bit different from Ruby