side effect!
(Since version 2.6.0) Use the with* methods instead
(Since version 2.6.0) Use typed attributes instead, see attrs