В данном случае да, подводные камни могут быть, в контексте того факта, что конструкция not elements отсечет не только None, но и любой объект с булевым значением False. Это значит, что при инициализации объекта класса с такими аргументами, как 0, '', [] и т.п. последние будут проигнорированы.
Неудивительно.