simplify handling of line_type
simplify parsing of files
make expression evaluation idempotent