rework lexer+backend instantiation, don't guess constructors anymore