gm: rewrite transform system again (again)