more improvements to the side-effect handler
document side-effect related functions
do not add abstract fields without expressions to field list and error accordingly (closes #2344)