add =loop
:bug: scopes
:bug: form for and selects
:bug: use transactions for replacing
:book: