Refactor _parse_inline to rely on transactions